设计说明书
题 目: 基于MATLAB GUI计算器的设计与实现
美女明星姓 名: 刘文斌
学 号: 0904705051
指 导 白荷花教 师: 俞学兰
专 业 年 级: 机械设计及其自动化(机械电子工程方向)
09机电2班
所在学院和系: 机械工程学院
完 成光阴的故事吉他谱 日 期: 2012年8月1日
1 绪论
用户界面(或接口)是指:人与机器(或程序)之间交互作用的工具和方法。如键盘、鼠标、跟踪球、话筒都可成为与计算机交换信息的接口。
图形用户界面(Graphical Ur Interfaces ,GUI)则是由窗口、光标、按键、菜单、文字说明等对象(Objects)构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。
2 GUI开发环境 三角形的面积计算公式
GUI开发环境(GUI Development Environment, GUIDE)是MATLAB提供了一套可视化的创建图形窗口的工具,使用用户界面开发环境可方便的创建GUI应用程序, 它可以根据用户设计的GUI布局,自动生成M文件的框架,用户使用这一框架编制自己的应用程序。GUI开发环境界面如下图所示:
3.设计目的
运用MATLAB实现GUI的用户界面及程序设计。
4 题目分析
4.1程序设计的基本要求
● 熟悉和掌握MATLAB程序设计方法
● 掌MATLAB GUI程序设计
4.2设计内容
要求利用MATLAB GUI设计实现一个图形用户界面的简易计算器程序,要求实现:
具有良好的用户图形界面,实现十进制的加、减、乘、除、乘方等简易计算。
科学计算函数,包含开方、三角函数运算功能
有清除键和退格键以及基本的0~9数字键和小数点
4.3题目分析
本题目通过MATLAB的GUI程序设计,在GUI设计中主要用到三种控件,显示框用到文本编辑框(edit text), 说明框用到静态文本框(static text),数字以及运算等按钮用到命令按钮(push button).然后在通过各个按钮的回调函数,实现简单的计算功能。
4.4设计思路
首先用MATLAB GUI功能,设置一个静态文本框和一个文本编辑框,以及命令按钮,调整好各控件的颜色、大小。通过双击各按钮来改写其属性,在M文件中编写其回调函数,最后再运行调试。
5 GUI我的世界如何骑马程序设计
5.1、设计图形界面
设计步骤:
(1) 在布局编辑器中布置控件,
(2) 使用几何位置排列工具对控件的位置进行调整;
(3) 设计控件的属性;
GUI 环境下简易计算器用户界面如下图所示:
5.2设置控件的标识
控件的标识(Tag)是对于各控件的识别,每个控件载创建时都会由开发环境自动产
生一个标识,在程序设计中,为了编辑、记忆和维护的方便,一般为控件设置一个新的标识。
5.3各功能模块实现
GUI图形界面的功能要通过一定的设计思路和计算方法由特定的程序来实现。为了实现程序的功能,还需要在运行程序前编写一些代码,完成程序中变量的赋值、输入输出、计算及绘图等工作。
在创建 GUI 时系统已经为其自动生成了 M 文件,该文件中包含 GUI 中控件对应的响应函数,及系统函数等。
部分具体函数代码及相关注释:
● 数字键设计:0~9以及小数点都一样,只是参数不同:
%全局变量locaval用于存储用户输入的多位数值
%全局变量gloval2用于存储待处理的第二位数值
function pushbutton0_Callback(hObject, eventdata, handles)
global locaval;
a = get(handles.pushbutton1,'String');
locaval=strcat(locaval,a);
1,'String',locaval);
global gloval2
gloval2=locaval;
guidata(hObject, handles);
● 运算符按钮处理“+、-、*、/ ”范例
%全局变量flagnum存储运算符标志
%全局变量global1用于储存第一个待处理数值
function pushbutton_chu_Callback(hObject, eventdata, handles)
a = get(handles.pushbutton10,'String');
b = 1,'String');
1,'String',a);
global flagnum
global gloval1
global locaval
locaval=' ';
flagnum=1;
gloval1=b;
guidata(hObject, handles);
● 等号按钮运算实现
%根据flagnum运算标志用switch知识转化决策语句实现相应计算
%需注意相应数据类型的转化
function pushbutton_dengyu_Callback(hObject, eventdata, handles)
global flagnum
global gloval1
global gloval2
global locaval
locaval=' ';
gloval1=str2num(gloval1);
gloval2=str2num(gloval2);
ca1=gloval1/gloval2;
ca2=gloval1*gloval2;
ca3=gloval1-gloval2;
ca4=gloval1+gloval2;
ca1=num2str(ca1);
ca2=num2str(ca2);
ca3=num2str(ca3);
ca4=num2str(ca4);
switch flagnum;
ca 1
1,'String',ca1);
ca 2
1,'String',ca2);
ca 3
1,'String',ca3);
ca 4
1,'String',ca4);
end
guidata(hObject,handles)
● Del按钮函数
%算法实现:MATLAB是用矩阵存储数据的,相应的可以取文本框的前N-1实现其功能
function pushbutton_BackSpace_Callback(hObject, eventdata, handles)
textString = 1,'String');
if(strcmp(textString,'0.')==1)
1,'String','0.') ;
el
ss=char(textString);
l=length(textString);
textString=ss(1:l-1);
1,'String',textString)
end
guidata(hObject,handles)
● C清除按钮函数
南山之寿%把全局变量locaval清零
function pushbutton_qinglin_Callback(hObject, eventdata, handles)
global locaval
locaval=' ';
1,'String','0.');
guidata(hObject,handles)
6 结果分析
6.1最终显示界面效果图:
上述简易计算器用户界面,能完成简单的四则运算及四则混合运算功能。通过实际操练结果均与实际结果相吻合,能实现基本的功能。
星兜7 心得体会
通过本次的MATLAB设计,让我对MATLAN尤其是GUI可视化图形界面的设计功能有了进一步的了解,认识到其功能的强大。在MATLAB简单计算器的设计中,了解了关于MATLAB图形用户界面的部分空间的使用方法,利用MATLAB的GUI提供的很多实用控件,方便用于设计自己的图形界面。
1、通过MATLAB简单计算器的设计,初步了解了关于MATLAB图形用户界面的部分控件的使用方法。
2、MATLAB的GUI提供的很多实用的控件,方便用于设计属于自己的图形界面。
3、Matlab具有强大、丰富的内置函数和工具箱,界面设计时更加简洁、快捷与直观。
参 考 书 目
[1]李人厚、张平安.精通MATLAB综合辅导与指南[M].西安:西安交通大学出版社.1999
[2]张智星.MATLAB程序设计与应用[M].北京:清华大学出版设.2002.4.1
[3]施晓红 周佳。精通GUI图形界面教程[M].北京:北京大学出版社,2003.
[4]陈子为。基于Matlab GUI扫雷游戏的设计与实现[J].现代电子技术,2008.
附录
仿真一个四则混合运算
界面如下:
程序源代码
function varargout = calculator(varargin)
% 我的计算器,重要运用了文本框和按钮。__