运算器的设计Word格式.docx
《运算器的设计Word格式.docx》由会员分享,可在线阅读,更多相关《运算器的设计Word格式.docx(10页珍藏版)》请在冰豆网上搜索。
![运算器的设计Word格式.docx](https://file1.bdocx.com/fileroot1/2023-1/8/fc3c1585-8e5b-461a-baa5-9e8f66379ecd/fc3c1585-8e5b-461a-baa5-9e8f66379ecd1.gif)
Keywords:
thetexteditbox,statictextbox,acommandbutton
目录
1.设计目的...............................................3
2.题目分析...............................................3
3.总体设计...............................................3
4.具体设计...............................................4
5.设计结果..............................................8
6.心得体会..............................................10
7.参考书目..............................................10
1、设计目的:
运用MATLAB实现MATLAB的GUI程序设计。
2、题目分析:
2.1课程设计的基本要求:
A.熟悉和掌握MATLAB程序设计方法。
B.掌握MATLABGUI程序设计。
2.2课程设计的内容:
要求利用MATLABGUI设计实现一个图形用户界面的计算器程序,要求实现:
A.具有友好的用户图形界面。
可实现十进制数的加、减、乘、除、乘方等简单计算。
B.科学计算函数,包括开方、指数等函数。
C.有清除键,能清除操作。
2.3题目分析
本题目通过MATLAB的gui程序设计较为简单,在gui设计中主要用到三种控件,显示框用到文本编辑框(edittext),说明框用到静态文本框(Statictext),数字以及运算等按钮用到命令按钮(pushbutton)。
3、总体设计
首先用MATLABGUI功能,在绘制一个静态文本框和一个文本编辑框,以及28个命令按钮,调整好各控件大小、颜色,整体布局如图所示:
然后通过双击个按钮来改写其属性,在m文件中编写其回调函数,最后在运行调试。
4、具体设计
4.1各功能界面设计
GUI设计界面:
4.2各功能模块实现
算法设计:
(1)数字键设计:
0—9以及小数点函数都一样,只是参数不同:
例如按键“2”:
通过get函数获得输入的字符,函数strca获得字符'
2'
并用set函数进行显示输出:
textString=get(handles.edit1,'
String'
);
if(strcmp(textString,'
0'
)==1)
set(handles.edit1,'
'
);
else
textString=strcat(textString,'
set(handles.edit1,'
textString)
End
(2)四则运算函数也都一样(+-*/.):
例如按键“+”:
通过get函数获得输入的字符,函数strcat获得字符'
+'
ss=char(textString);
l=length(textString);
if(ss(l)=='
||ss(l)=='
-'
*'
/'
.'
)
textString=ss(1:
l-1);
end
(3)按键“+/-”:
+/-'
并用set函数进行显示输出
a=strread(textString,'
%f'
a=0-a;
a)
(4)清屏“C”键函数:
将所有的字符置为'
(5)按键“sin和cos”:
通过get函数获得输入的字符,函数strread获得输入字符,并用sin函数计算结果,set函数进行显示输出
textString=get(handles.edit1,'
a=strread(textString,'
a=sin(a);
(6)按键“tan和cot”:
通过get函数获得输入的字符,函数strread获得输入字符,并用tan函数计算结果,set函数进行显示输出
if((strcmp(textString,'
1.57'
)==1)||(strcmp(textString,'
-1.57'
)==1))
inf'
a=tan(a);
(7)按键“x^2”:
通过get函数获得输入字符,函数strread获得输入字符,并用语句a=a*a计算结果,set函数进行显示输出
a=a*a;
(8)“=”的实现:
通过get函数获得输入的字符,并用eval函数计算结果,set函数进行显示输出
a=get(handles.edit1,'
string'
b=eval(a)
num2str(b))
(9)按键“sqrt”:
通过get函数获得输入字符,函数strread获得输入字符,并用sqrt函数计算结果,set函数进行显示输出:
if(strcmp(textString,'
else
a=sqrt(a);
end
(10)退格键:
通过取屏幕值,计算出其字符长度,然后取其前N-1项的值来实现退格:
)==1)&
(jj==0)
ss=char(textString);
l=length(textString);
(11)退出键:
close
5、各模块实现结果:
(1)数字键:
(2)四则运算健:
计算12+36=48
(3)X^2健:
计算12^2
(4)sqrt健:
计算888的sqrt:
(5)cos函数健:
计算cos0:
(6)tan函数健:
计算tan8:
(7)()健:
计算(12+34)*15:
6、心得体会:
通过本次的MATLAB课程设计,让我对MATLAB尤其是其GUI设计的功能有了进一步的了解,认识到了它功能的强大。
在MATLAB简单计算器的设计中,了解了MATLAB图形用户界面的部分控件的使用方法;
利用MATLAB的GUI提供的很多实用的控件,方便用于设计属于自己的图形界面。
7、参考书目:
[1]《MATLAB语言及其在电子信息工程中的应用》王洪元主编清华大学出版社