MATLAB GUI

Create apps with graphical user interfaces in MATLAB

GUIs (also known as graphical user interfaces or UIs) provide point-and-click control of software applications, eliminating the need to learn a language or type commands in order to run the application.

MATLAB® apps are self-contained MATLAB programs with GUI front ends that automate a task or calculation. The GUI typically contains controls such as menus, toolbars, buttons, and sliders. Many MATLAB products, such as Curve Fitting Toolbox™, Signal Processing Toolbox™, and Control System Toolbox™ include apps with custom user interfaces. You can also create your own custom apps, including their corresponding UIs, for others to use.

Creating a MATLAB App with App Designer

App Designer is the recommended environment for building apps in MATLAB. It integrates the two primary tasks of app building―laying out the visual components and programming app behavior―and allows you to quickly move between visual design in the canvas and code development in an integrated version of the MATLAB Editor.

Migrating Apps from GUIDE to App Designer

Migrating your app allows you to take advantage of the new components and features in App Designer that GUIDE does not offer. For assistance in migrating your apps, use the add-on GUIDE to App Designer Migration Tool for MATLAB.

The migration tool reads in FIG-files created with GUIDE and automatically generates an App Designer MLAPP-file. The MLAPP-file contains configured components and a copy of the GUIDE callback code. The tool also generates a migration report that provides steps for updating callbacks and lists any unsupported functionality, with workaround suggestions, if available.

Creating a MATLAB GUI Programmatically

For added control over design and development, you can also create MATLAB code that defines all component properties and behaviors. MATLAB contains built-in functionality to help you create the GUI for your app programmatically. You can add dialog boxes, user interface controls (such as push buttons and sliders), and containers (such as panels and button groups).