Creating Graphical User Interfaces |
Design of the GUI
This GUI requires three input values:
When the user clicks the Plot button, the GUI puts these values into a MATLAB expression that is the sum of two sine function:
The GUI then calculates the FFT of x
and creates two plots - one frequency domain and one time domain.
Specifying Default Values for the Inputs
The GUI uses default values for the three inputs. This enables users to click on the Plot button and see a result as soon as the GUI is run. It also helps to indicate what values the user might enter.
To create the default values, set the String
property of the edit text. The following figure shows the value set for the time vector.
Identifying the Axes
Since there are two axes in this GUI, you must be able to specify which one you want to target when you issue the plotting commands. To do this, use the handles
structure, which contains the handles of all components in the GUI.
The field name in the handles
structure that contains the handle of any given component is derived from the component's Tag
property. To make code more readable (and to make it easier to remember) this examples sets the Tag
to descriptive names.
For example, the Tag
of the axes used to display the FFT is set to frequency_axes
. Therefore, within a callback, you access its handle with
Likewise, the Tag
of the time axes is set to time_axes
.
See Managing GUI Data with the Handles Structure for more information on the handles
structure. See Plot Push Button Callback for the details of how to use the handle to specify the target axes.
GUI Option Settings
There are two GUI option settings that are particularly important for this GUI:
Proportional Resize Behavior. Selecting Proportional as the resize behavior enables users to change the GUI to better view the plots. The components change size in proportion to the GUI figure size. This generally produces good results except when extremes of dimensions are used.
Callback Accessibility of Object Handles.. When GUIs include axes, handles should be visible from within callbacks. This enables you to use plotting commands like you would on the command line. Note that Callback is the default setting for command-line accessibility.
See Selecting GUI Options for more information.
GUI with Multiple Axes | Plot Push Button Callback |