主要内容

GUIDE应用程序与参数显示的情节

请注意

GUIDE环境将在未来的版本中删除。移除GUIDE后,现有的GUIDE应用程序将继续在MATLAB中运行®但是在GUIDE中是不可编辑的。

要继续编辑现有的GUIDE应用程序,请参见指导迁移策略获取关于如何帮助维护应用程序与未来MATLAB版本的兼容性的信息。为了交互式地创建新的应用程序,使用App Designer开发应用代替。

这个例子展示了如何检查和运行一个预构建的GUIDE应用程序。这个应用程序包含三个编辑字段和两个轴。轴显示频率和时域表示的函数是两个正弦波的和。最上面的两个编辑字段包含每个分量正弦波的频率。第三个编辑字段包含地块的时间范围和采样率。

打开并运行示例

打开并运行应用程序f1f2场来改变每个分量正弦波的频率。中以冒号分隔的三个数字也可以更改t字段。第一个和最后一个数字指定了对函数进行采样的时间窗口。中间的数字指定采样率。

按下情节按钮查看函数在频率和时间域的图形。

检查代码

  1. 在GUIDE中,单击编辑器按钮查看代码。

  2. 在靠近编辑器窗口顶部的位置,使用按钮导航到下面讨论的函数。

f1_input_Callbackf2_input_Callback

f1_input_Callback控件中的值更改时执行f1编辑字段。的f2_input_Callback函数响应f2字段,它几乎与f1_input_Callback函数。这两个函数都检查有效的用户输入。如果编辑字段中的值无效,则情节按钮被禁用。这是代码f1_input_Callback函数。

f1 = str2double (get (hObject,“字符串”));如果isnan (f1) | | ~伊斯雷尔(f1)%禁用Plot按钮并更改其字符串以说明原因集(handles.plot_button,“字符串”,“不能阴谋f1”);集(handles.plot_button,“启用”,“关闭”);%设置编辑文本框的焦点,以便用户纠正错误uicontrol (hObject);其他的%使用原来的名称启用Plot按钮集(handles.plot_button,“字符串”,“阴谋”);集(handles.plot_button,“启用”,“上”);结束

t_input_Callback

t_input_Callback控件中的值更改时执行t编辑字段。这试一试Block检查该值以确保它是数值,其长度在2到1000之间,并且向量是单调递增的。

试一试t = eval (get (handles.t_input,“字符串”));如果~ isnumeric (t)% t不是一个数字集(handles.plot_button,“字符串”,“t不是数字”elseif长度(t) < 2% t不是一个向量集(handles.plot_button,“字符串”,t一定是向量elseif长度(t) > 1000% t是一个太长的向量,无法画清楚集(handles.plot_button,“字符串”,t太长了。elseif分钟(diff (t)) < 0% t不是单调递增的集(handles.plot_button,“字符串”,“t必须增加”其他的%使用原来的名称启用Plot按钮集(handles.plot_button,“字符串”,“阴谋”)设置(handles.plot_button“启用”,“上”返回结束新兴市场无法计算用户键入的表达式集(handles.plot_button,“字符串”,“不能阴谋t”);uicontrol (hObject);结束
块上更改标签情节按钮指示输入值无效。的uicontrol命令将焦点设置为包含错误值的字段。

plot_button_Callback

plot_button_Callback函数在用户单击情节按钮。

首先,回调函数获取三个编辑字段中的值:

f1 = str2double (get (handles.f1_input,“字符串”));f2 = str2double (get (handles.f2_input,“字符串”));t = eval (get (handles.t_input,“字符串”));
然后回调使用值f1,f2,t在时域对函数进行采样并计算傅里叶变换。然后,更新这两个地块:

%在适当的轴上创建频率图情节(handles.frequency_axes f m (1:257));集(handles.frequency_axes,“XMinorTick”,“上”);网格(handles.frequency_axes,“上”);%在适当的坐标轴上创建时间图情节(handles.time_axes t x);集(handles.time_axes,“XMinorTick”,“上”);网格

相关的话题