示例 1: 创建一个简单的用户界面来绘制函数
示例 2: 构建一个具有数据表和图形交互的用户界面
示例 3: 构建一个具有多个选项卡的复杂用户界面
示例 4: 构建一个带有动态控件和实时数据更新的用户
示例 1代码
function simple_plotting_app
% 创建一个figure窗口
f = figure('Name', 'Simple Plotting App', 'NumberTitle', 'off', 'Position', [100, 100, 400, 300]);
% 创建一个axes对象用于绘图
ax = axes('Parent', f, 'Position', [.1 .3 .8 .6]);
% 创建输入框和标签
lbl = uicontrol('Parent', f, 'Style', 'text', 'Position', [10 70 100 20], 'String', 'Enter Function:');
edit = uicontrol('Parent', f, 'Style', 'edit', 'Position', [120 70 150 20], 'String', 'sin(x)');
% 创建绘图按钮
btn = uicontrol('Parent', f, 'Style', 'pushbutton', 'Position', [280 70 70 20], 'String', 'Plot', ...
'Callback', @plot_function);
% 绘图函数
function plot_function(src, event)
func_str = get(edit, 'String');
func = str2func(['@(x)' func_str]);
x = linspace(-10, 10, 1000);
y = func(x);
plot(ax, x, y);
title(ax, func_str);
end
end
详细解释
-
初始化: 该函数
simple_plotting_app
定义了一个MATLAB GUI应用。首先,创建一个名为f
的figure窗口,设置其标题、大小和位置。 -
绘图区域: 在
f
中创建了一个axes
对象ax
,用作绘图的主要区域。它的位置和大小通过Position
属性定义。 -
用户输入控件: 使用
uicontrol
创建用户界面控件。这里,lbl
是一个标签控件,显示文字"Enter Function:"。edit
是一个编辑框,用户可以在其中输入要绘制的函数表达式,默认值为"sin(x)"。 -
绘图按钮:
btn
是一个按钮控件,当用户点击时,会调用plot_function
回调函数。这个函数读取编辑框中的字符串,将其转换为函数,并在ax
上绘制该函数的图形。 -
回调函数:
plot_function
是核心功能部分。它首先将用户输入的字符串转换为可执行的函数。然后在定义的x范围内计算函数值,并使用plot
函数在axes
对象上绘制结果。
目录