Advanced MATLAB GUI Development

מק"ט: #68203 | משך קורס: 32 שעות אק'

Advanced MATLAB GUI Development is a four-day course that provides techniques for programming professional modern-looking Graphical User Interfaces in the MATLAB technical computing environment.
This course is intended for intermediate and advanced MATLAB users, who have had some prior experience with MATLAB. Familiarity with MATLAB is required.
Hands-on examples, and exercises within a rolling classroom project, apply techniques and learned in the class to achieve a realistic high-quality GUI application.

הקורס פעיל לקבוצות מטעם ארגונים בלבד, ניתן לשלוח פנייה רק אם מדובר בקבוצה
*שדות חובה


  • Understand advanced GUI design principles and programming techniques
  • Design, create, use and maintain GUI MATLAB applications
  • Use built-in and external tools for designing professional-looking GUI
  • Design and program efficient, performant, fault-tolerant GUIs
  • Customize the MATLAB figure window in a variety of manners
  • Create custom user toolbars and menus
  • Use either simple HTML or complex renderers for improved appearance
  • Integrate and customize ActiveX and Java components
  • Customize the standard MATLAB GUI using the power of Java
  • Apply skills that will enable you to continue learning advanced topics by yourself, at your own pace

קהל יעד

Engineers involved in creating or maintaining MATLAB applications, including:

  • Design and Simulation Engineers
  • Data Analysts
  • Research Scientists
  • Software, Firmware and Hardware Developers
  • Companies wishing to package MATLAB algorithms in a professional modern-looking graphical user interface 

תנאי קדם

  • Familiarity with the MATLAB programming environment.
  • Prior experience with MATLAB GUI is advantageous, but not mandatory.


Overview of MATLAB GUI

  • Discuss course set-up, materials, and logistics
  • Provide a “big picture” view of the course ahead
  • Overview of the GUI alternatives that are available in MATLAB



  • GUI conventions and best practices
  • GUI trade-off considerations
  • GUI specific design principles adapted for MATLAB
  • Designing robust, fault-tolerant GUI
  • Avoiding common GUI design pitfalls



  • MATLAB’s GUI design hierarchy
  • MATLAB’s two basic alternatives for GUI creation
  • GUIDE – MATLAB’s GUI Design Editor
  • The GUIDE-generated file-duo
  • Attaching user callback functionality to GUI components
  • MATLAB’s handles structure object
  • Mechanisms for information sharing between GUI components/windows
  • User-specific and application-specific preferences
  • Creating and using an application’s main menu, toolbar and context menus


Advanced Topics in MATLAB GUI

  • MATLAB’s Handle Graphics paradigm
  • Programmatically preparing MATLAB GUI
  • Programmatically accessing specific GUI components
  • Using handle visibility effectively
  • Retrieving and modifying GUI component properties
  • GUI units – when and how to use each type
  • Handling GUI resizing correctly and effectively
  • Using HTML colors, images and text formatting
  • Advanced issues in callback programming


Advanced Topics in GUI Controls

  • Integrating and using ActiveX controls
  • Working with COM servers (e.g., Microsoft office)
  • Adding properties to GUI controls (including standard MATLAB uicontrols)
  • Hidden properties
  • Inspecting control’s properties, methods and callbacks
  • Using property-change listeners
  • Using 3rd-party controls; FEX, apps
  • Overlapping GUI components



  • Origin and nature of uitools in MATLAB
  • Supported vs. non-supported uitools
  • Importing/saving files and data
  • Dialog windows
  • Mouse-pointer control
  • uitable
  • uitree
  • uitab
  • uiundo


Advanced GUI Customizations using Java

  • Why use Java? Benefits/drawbacks
  • Using Java in MATLAB
  • MATLAB’s underlying Java controls
  • Customizing standard MATLAB uicontrols at the Java level
  • Integrating and using Java components (Swing, MWT, JIDE, 3rd party)
  • Color, font, and plot-selection widgets
  • Creating and using cell renderers & editors
  • Avoiding common pitfalls in MATLAB-Java programming


Customizing MATLAB’s Figure Window

  • Customizing the main menu bar and toolbar
  • Controlling figure transparency, blurring, disabling
  • Customizing the figure title and figure frame
  • Maximizing/minimizing figure windows
  • Controlling figure docking
  • Controlling figure modality


Improving GUI Performance

  • GUI performance tuning in the design context
  • Measuring performance
  • Actual vs. perceived performance
  • Faster GUI generation
  • Updating graphs in real-time
  • Faster GUI responsiveness
  • Dynamic (automatic) data and GUI updates/refresh
  • Alternatives for user feedback
  • Avoiding common performance pitfalls



  • Additional online & offline resources
  • Course evaluation


Appendix: Classroom project

Apply basic techniques from the course for an increasingly-sophisticated classroom project. The project will be developed concurrently with the studied topics, throughout the course.


היקף הקורס הינו 32 שעות אקדמאיות