This intermediate-level MATLAB training course, Creating MATLAB User Interfaces, teaches attendees how to create graphical user interfaces (GUIs) for MATLAB programs, using both the interactive AppDesigner tool and direct programming. Students begin with the basics of GUI design and progress to advanced features such as context menus, event notification and handling, backward compatibility across MATLAB releases, and run-time performance considerations.
Note: This course can be condensed to a half-day with fewer examples and less hands-on practice. We strongly recommend the full-day version if possible.
Key Learning Areas
- Create usable interactive user interfaces in MATLAB
- Create MATLAB GUIs using both AppDesigner and programmatically
- Apply design principles in MATLAB GUIs
- Customize and control the appearance and behavior of GUI elements
- Understand how to handle asynchronous GUI events in user callback code
- Understand MATLAB release compatibility and run-time performance tradeoffs
Introduction to MATLAB Graphical User Interfaces (GUI)
- Design principles and best practices
- Tradeoff considerations
- MATLAB GUI alternatives and roadmap
- Typical evolution of MATLAB GUI development
App Designer – MATLAB’s Latest GUI Designer
- AppDesigner environment, widgets, and code
- MATLAB figures vs. uifigures
- Performance, compatibility, and maintainability aspects
- AppDesigner vs. GUIDE – pros & cons
- The web-based future of MATLAB’s GUI
- Layout management
Programmatic MATLAB GUI
- AppDesigner vs. m-programming trade-offs
- GUI units conversion and resizing
- Customizing GUI components using Java, HTML, CSS
- Handling asynchronous events in user callback code
Performance and Usability Considerations
- Improving GUI responsiveness
- Actual vs. perceived performance
- Providing continuous interface feedback
- Avoiding common pitfalls
- Attendees should have taken From MATLAB Scripts to Complete Programs course or have equivalent knowledge.
- Students must be comfortable using the MATLAB environment and have at least basic programming experience.
- No prior object-oriented experience or familiarity is assumed or required for this course. However, familiarity with object-oriented MATLAB would be helpful.