实验三 MATLAB_GUI界面.docVIP

  • 21
  • 1
  • 约 6页
  • 2016-09-11 发布于河南
  • 举报
实验三 MATLAB_GUI界面

实验三 MATLAB_GUI界面 实验目的 图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。 通过Matlab GUI编程示例仿真掌握GUI界面的设计; 实验设备 计算机,Matlab软件 实验要求 本实验属于设计实验,请先根据(四)实验内容的(a)【Matlab GUI编程Matlab GUI编程1.首先我们新建一个GUI文件:File/New/GUI 如下图所示; 选择Blank GUI(Default) 2.进入GUI开发环境以后添加两个编辑文本框,6个静态文本框,和一个按钮,布置如下图所示; 布置好各控件以后,我们就可以来为这些控件编写程序来实现两数相加的功能了。 3.我们先为数据1文本框添加代码; 选择edit1_Callback, function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,String) returns contents of edit1 as text % str2double(get(hObject,String)) returns contents of edit1 as a double 然后在上面这段代码的下面插入如下代码: %以字符串的形式来存储数据文本框1的内容. 如果字符串不是数字,则显示空白内容 input = str2num(get(hObject,String)); %检查输入是否为空. 如果为空,则默认显示为0 if (isempty(input)) set(hObject,String,0) end guidata(hObject, handles); 这段代码使得输入被严格限制,我们不能试图输入一个非数字。 4.为edit2_Callback添加同样一段代码 5 现在我们为计算按钮添加代码来实现把数据1和数据2相加的目的。 用3中同样的方法在m文件中找到pushbutton1_Callback代码段 如下; function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) %在上面这段代码后添加以下代码; a = get(handles.edit1,String); b = get(handles.edit2,String); otal=str2num(a) + str2num(b); c = num2str(total); set(handles.text1,String,c); guidata(hObject, handles); 下面我们来对上面这段程序分析一下; a = get(handles.edit1,String); b = get(handles.edit2,String); 上面这行代码把用户输入的数据存入到变量a,变量b中; % a,b是字符型变量,在计算两者相加之前需把他们转换为数字型 total = str2num(a) + str2num(b); 这段代码实现两数相加 c = num2str(total); set(handles.text3,String,c); guidata(hObject, handles); 以上两行代码分别用来更新计算结果文本框和图形对象句柄,一般Callback回调函数都以guidata(hObject, handles);j结束以更新数据 程序运行如下: 提示:axes(handles.axes1);%表示使用当前的axes1 在后面的参考程序中,使用axes(handles.axes1)代替figure函数 程序1:条形图、阶梯图、杆图和填充图形式绘制曲线y=2sin(x) x=0:pi/10:2*pi; y=2

文档评论(0)

1亿VIP精品文档

相关文档