Advanced Matlab training courses/seminars will be presented by me (Yair) in Zürich, Switzerland on 29-30 August, 2017:
- August 29 (full day) – Interactive Matlab GUI
- August 30 (full day) – Advanced Matlab GUI
The seminars are targeted at Matlab users who wish to improve their program’s usability and professional appearance. Basic familiarity with the Matlab environment and coding/programming is assumed. The courses will present a mix of both documented and undocumented aspects, which is not available anywhere else. The curriculum is listed below.
This is a unique opportunity to enhance your Matlab coding skills and improve your program’s usability in a couple of days.
If you are interested in either or both of these seminars, please Email me (altmany at gmail dot com).
I can also schedule a dedicated visit to your location, for onsite Matlab training customized to your organization’s specific needs. Additional information can be found on my Training page.
Around the time of the training, I will be traveling to various locations around Switzerland. If you wish to meet me in person to discuss how I could bring value to your project, then please email me (altmany at gmail):
- Geneva: Aug 22 – 27
- Bern: Aug 27 – 28
- Zürich: Aug 28 – 30
- Stuttgart: Aug 30 – 31
- Basel: Sep 1 – 3
Interactive Matlab GUI – 29 August, 2017
- Introduction to Matlab Graphical User Interfaces (GUI)
- Design principles and best practices
- Tradeoff considerations
- Matlab GUI alternatives and roadmap
- Typical evolution of Matlab GUI developers
- GUIDE – MATLAB’s GUI Design Editor
- Using GUIDE to design a custom GUI
- Available built-in MATLAB uicontrols
- GUIDE’s utility windows
- Creating and using application toolbar, main menu and context menus
- The GUIDE-generated file-duo
- Customizing GUI appearance and behavior
- Important figure and uicontrol properties
- Customizing GUI properties, position and behavior
- Attaching callback functionality to GUI components
- Sharing data between GUI components
- The handles data struct
- Using handle visibility
- Callback interrupts and re-entrancy
- Position, size and units
- Formatting using HTML
- Programmatic control and interaction with GUI components
- Uitable
- Displaying data in a MATLAB GUI table
- Reading uitable data
- Controlling column data type
- Customizing uitable appearance
- Uitable callbacks
- Additional customizations using Java
- Matlab’s new App Designer
- App Designer environment, widgets and code
- The web-based future of Matlab GUI
- App Designer vs. GUIDE – pros and cons
- Performance and interactivity considerations
- Speeding up the initial GUI generation
- Improving GUI responsiveness
- Continuous interface feedback
- Avoiding common performance pitfalls
At the end of this seminar, you will have learned how to:
- apply GUI design principles in Matlab
- create simple Matlab GUIs
- manipulate and customize graphs, images and GUI
- store and reuse graphs, images, and GUI
- display Matlab data in a variety of GUI manners, including data tables
- understand tradeoffs using GUIDE vs. AppDesigner vs. programmatic GUI
- comprehend performance implications, to improve GUI speed and responsiveness
Advanced Matlab GUI – 30 August, 2017
- Advanced GUI topics
- The figure’s main menu
- Context menus
- Toolbars
- Passing information around the GUI
- Uitools: uitable, uitree, uitab, etc.
- GUIDE vs. m-programming trade-offs
- Hidden undocumented properties
- Listening to action events
- Listening to property-change events
- Using Java with Matlab GUI
- Matlab and Java Swing
- Integrating Java controls
- Compatibility aspects and trade-offs
- Safe programming with Java in Matlab
- Java’s EDT and timing considerations
- Containers and position – Matlab vs. Java
- Monitoring memory and CPU utilization
- GUI Look-and-Feel
- Using built-in Matlab controls/widgets
- Using JIDE’s advanced features and professional controls
- Integrating 3rd-party Java GUI components: charts/graphs/widgets/reports
- Advanced Matlab-Java GUI
- Using HTML formatting
- Updating existing Matlab uicontrols
- Figure menu customization
- Figure toolbar customization
- Figure-level customization (maximize/minimize, disable etc.)
- Handling Java events as Matlab callbacks
- Deployment (compiler) aspects
At the end of this seminar, you will have learned how to:
- customize the figure toolbar and main menu
- use HTML to format GUI appearance
- integrate Java controls in Matlab GUI
- customize your Matlab GUI to a degree that you never knew was possible
- create a modern-looking professional GUI in Matlab