广西科技大学
MATLAB课程设计说明书
课题:设计简易计算器
开发环境:MATLAB GUIDE
作者:
系别:
专业:
时间:
实验目的: 1、熟悉MATLAB的主要控件使用方法。
2、熟悉MATLAB的GUI设计流程。
实验环境:
编程软件:MATLAB7.0
实验内容与结果:
使用MATLAB的GUI接口设计一个简单的计算器。
效果图:
一、布局GUI。
1.打开Matlab,输入Guide 回车或者在工具栏上点击图标出现Guide 窗口:
2.然后双击“Blank GUI(Default)”出现GUI窗口
3.添加按钮
4.根据按钮的作用及视觉效果做一定的修改
把按钮的字符串大小、颜色进行设置,对按钮的位置进行排布,尽量使按钮集中在静态文本框下面。最终设置的静态文本框为白色,其他按钮均为分红色。
5.保存、添加功能函数
把做好的按钮及静态文本框保存后自动弹出Editor的M文本,对然后对相应的pushbutton添加功能函数。以下是相应按钮的功能函数。
(1)数字按键编写。
在function pushbutton1_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 pushbutton2~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的作用是将两个字符串连接起来,就是在已输入的存储数据textString后添加“+”进行运算。
然后执行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,'String','') ;
按键“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','')
(6)按键“退出”:关闭计算器
close(gcf);
二、计算器的使用
加法运算(+):
按“=”后显示
平方运算:
按“=”后显示
附各按键的程序源代码:
function pushbutton1_Callback(hObject, eventdata, handles)
textString=get(handles.text1,'String')
textString=strcat(textString,'0')
set(handles.text1,'String',textString)
function pushbutton2_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(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,'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, 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',textString)
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=strcat(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)
textString=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 pushbutton14_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,'.')
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')
textString=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 (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);
三、设计心得及体会:略.