1、 广西科技大学 MATLAB课程设计说明书 课题:设计简易计算器 开发环境:MATLAB GUIDE 作者: 系别: 专业: 时间: 实验目的: 1、熟悉MATLAB的主要控件使用方法。 2、熟悉MATLAB的GUI设计流程。 实验环境: 编程软件:MATLAB7.0 实验内容与结果: 使用MATLAB的GUI接口设计一个简单的计算器。 效果图: 一、布局GUI。 1.打
2、开Matlab,输入Guide 回车或者在工具栏上点击图标出现Guide 窗口: 2.然后双击“Blank GUI(Default)”出现GUI窗口 3.添加按钮 4.根据按钮的作用及视觉效果做一定的修改 把按钮的字符串大小、颜色进行设置,对按钮的位置进行排布,尽量使按钮集中在静态文本框下面。最终设置的静态文本框为白色,其他按钮均为分红色。 5.保存、添加功能函数 把做好的按钮及静态文本框保存后自动弹出Editor的M文本,对然后对相应的pushbutton添加功能函数。以下是相应按钮的功能函数。 (1)数字按键编写。 在function pushb
3、utton1_Callback(hObject, eventdata, handles)下输入: textString = get(handles.text1,'String'); textString =strcat(textString,'0'); set(handles.text1,'String',textString) 这是使用句柄handles指向对象text1,并以字符串形式来存储数据文本框text1的内容,并存储数个“0”, 然后由set(handles.text1,'String','textString'在text1中输出。 同理,分别在function pus
4、hbutton2~10_Callback(hObject, eventdata, handles)下给1~9数字按键下编写此类程序。 (2).符号键: function pushbutton12_Callback(hObject, eventdata, handles) textString = get(handles.text1,'String'); textString =strcat(textString,'+'); set(handles.text1,'String',textString) strcat的作用是将两个字符串连接起来,就是在已输入的存储数据textStrin
5、g后添加“+”进行运算。 然后执行set(handles.text1,'String',textString)。符号键‘-’、‘*’、‘/’与‘+’的运算函数类似。 “平方运算”,主要是由“^2”功能实现。 (3)运算符“=”的编程: textString = get(handles.text1,'String'); ans =eval(textString); “eval”的作用是将符号表达式转换成数值表达式。 再由set(handles.text1,'String',ans)输出。 (4)按键“back”编程:即显示一个空字符: set(handles.text1,'St
6、ring','') ; 按键“back”编程: textString = get(handles.text1,'String'); set(handles.text1,'String','') ; ss=char(textString); n=length(textString); textString=ss(1:w-1); %将w个字符串转成w-1个,即删除了末位字符 set(handles.text1,'String',textString) (5)按键“清空”:把静态文本框的字符清空,返回一个空格 set(handles.text1,'String',''
7、) (6)按键“退出”:关闭计算器 close(gcf); 二、计算器的使用 加法运算(+): 按“=”后显示 平方运算: 按“=”后显示 附各按键的程序源代码: function pushbutton1_Callback(hObject, eventdata, handles) textString=get(handles.text1,'String') textString=strcat(textString,'0') set(handles.text1,'String',textString) function pushb
8、utton2_Callback(hObject, eventdata, handles) textString=get(handles.text1,'String') textString=strcat(textString,'1') set(handles.text1,'String',textString) function pushbutton3_Callback(hObject, eventdata, handles) textString=get(handles.text1,'String') textString=strcat(textString,'2') set(
9、handles.text1,'String',textString) function pushbutton4_Callback(hObject, eventdata, handles) textString=get(handles.text1,'String') textString=strcat(textString,'3') set(handles.text1,'String',textString) function pushbutton5_Callback(hObject, eventdata, handles) textString=get(handles.text1,
10、'String') textString=strcat(textString,'4') set(handles.text1,'String',textString) function pushbutton6_Callback(hObject, eventdata, handles) textString=get(handles.text1,'String') textString=strcat(textString,'5') set(handles.text1,'String',textString) function pushbutton7_Callback(hObject,
11、eventdata, handles) textString=get(handles.text1,'String') textString=strcat(textString,'6') set(handles.text1,'String',textString) function pushbutton8_Callback(hObject, eventdata, handles) textString=get(handles.text1,'String') textString=strcat(textString,'7') set(handles.text1,'String',te
12、xtString) function pushbutton9_Callback(hObject, eventdata, handles) textString=get(handles.text1,'String') textString=strcat(textString,'8') set(handles.text1,'String',textString) function pushbutton10_Callback(hObject, eventdata, handles) textString=get(handles.text1,'String') textString=st
13、rcat(textString,'9') set(handles.text1,'String',textString) function pushbutton11_Callback(hObject, eventdata, handles) textString=get(handles.text1,'String') textString=strcat(textString,'+') set(handles.text1,'String',textString) function pushbutton12_Callback(hObject, eventdata, handles) t
14、extString=get(handles.text1,'String') textString=strcat(textString,'-') set(handles.text1,'String',textString) function pushbutton13_Callback(hObject, eventdata, handles) textString=get(handles.text1,'String') textString=strcat(textString,'*') set(handles.text1,'String',textString) function p
15、ushbutton14_Callback(hObject, eventdata, handles) textString=get(handles.text1,'String') textString=strcat(textString,'/') set(handles.text1,'String',textString) function pushbutton15_Callback(hObject, eventdata, handles) textString=get(handles.text1,'String') textString=strcat(textString,'.
16、') set(handles.text1,'String',textString) function pushbutton16_Callback(hObject, eventdata, handles) textString=get(handles.text1,'String') s=eval(textString) set(handles.text1,'String',s) function pushbutton17_Callback(hObject, eventdata, handles) textString=get(handles.text1,'String') tex
17、tString=strcat(textString,'^2') set(handles.text1,'String',textString) function pushbutton18_Callback(hObject, eventdata, handles) % hObject handle to pushbutton18 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data
18、 (see GUIDATA) textString=get(handles.text1,'String') w=length(textString) t=char(textString) textString=t(1:w-1) set(handles.text1,'String',textString) function pushbutton19_Callback(hObject, eventdata, handles) set(handles.text1,'String','') function pushbutton20_Callback(hObject, eventdata, handles) % hObject handle to pushbutton20 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) close(gcf); 三、设计心得及体会:略.






