matlab GUI 设计(简易科学计算器)
- 格式:doc
- 大小:808.50 KB
- 文档页数:23
M
A
T
L
A
B
大
作
业
班级:
姓名:
学号:
计算器
➢题目
本题目通过MATLAB的gui程序设计较为简单,在gui设计中主要用到三种控件,文本编辑框(edit text),静态文本框(Static text),命令按钮(push button)。然后在通过各个按钮的回调函数,实现简单的计算功能。
➢1、功能介绍
(1)具有友好的用户图形界面。实现十进制数的加、减、乘、除、乘方、开方等简单计算。
(2)具有科学计算函数,包括(反)正弦、(反)余弦、(反)正切、(反)余切、开方、指数等函数运行。(注:三角函数计算的是弧度而不是角度)。
(3)有清除键,能清除操作。
➢2、功能实现
程序由两个部分组成:MATLAB代码(.m文件)和GUI图形(.fig)。
程序使用的流程:直接利用图形界面中的按键键入所需数值、运算符等即可得出结果。
备注:软件版本:MATLAB 2011b
首先用MATLAB GUI功能,在绘制一个静态文本框和一个文本编辑框,以及33个命令按钮,调整好各控件大小、颜色,整体布局如图所示:(附录中有相关属性修改介绍)
然后通过双击各个按钮来改写其属性,在m文件中编写其回调函数,最后在运行调试。
2.1 各功能界面设计
GUI设计界面:注:底部边框用(Panel)工具添加,有两种设计顺序。(1、先加底部边框,再在底部边框上画功能键。2、先画功能键,布好局,画底框,全选功能键拖动到底框上。)
2.2 各功能模块实现(可根据需要增减功能键)
算法设计:
1. 数字键设计:0—9以及小数点函数都一样,只是参数不同:
例如:按键‘1’响应:
global jj
textString = get(handles.text1,'String');
if(strcmp(textString,'0.')==1)&(jj==0)
set(handles.text1,'String','1') ;
else
textString =strcat(textString,'1');
set(handles.text1,'String',textString)
end
jj=0;
2. 四则运算函数:
‘+’功能响应:
textString = get(handles.text1,'String');
textString =strcat(textString,'+');
set(handles.text1,'String',textString)
‘-’功能响应:
textString = get(handles.text1,'String');
textString =strcat(textString,'-');
set(handles.text1,'String',textString)
‘×’功能响应:
textString = get(handles.text1,'String');
textString =strcat(textString,'*');
set(handles.text1,'String',textString)
‘÷’功能响应:
textString = get(handles.text1,'String');
textString =strcat(textString,'/');
set(handles.text1,'String',textString)
3. 科学计算函数:
例如:‘sin’功能响应:
textString = get(handles.text1,'String');
if(strcmp(textString,'0.')==1)
set(handles.text1,'String','0.') ;
else
a = strread(textString, '%f');
a=sin(a);
set(handles.text1,'String',a)
end
4. 退格键(DEL):通过取屏幕值,计算出其字符长度,然后取其前N-1项的值来实现退格:
global jj
textString = get(handles.text1,'String');
if(strcmp(textString,'0.')==1)&(jj==0)
set(handles.text1,'String','0.') ;
else
ss=char(textString);
l=length(textString);
textString=ss(1:l-1);
set(handles.text1,'String',textString)
end
jj=0;
5. 清屏键函数(AC):
set(handles.text1,'String','0.') ;
2.3 各模块程序添加方法
选中一个需添加程序的功能键,右击,View Callbacks,Callback,出现如下图所示界面。(红色框中为所需添加的程序)其他功能键添加方法类似。
2.4 各模块实现结果
(1)数字键:
(2)四则运算函数: