计算器Word格式文档下载.docx
- 文档编号:20652887
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:22
- 大小:272.88KB
计算器Word格式文档下载.docx
《计算器Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《计算器Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。
2.课程设计题目及要求
设计题目:
数学计算器的开发。
2.1课程设计的基本要求:
A.熟悉和掌握MATLAB程序设计方法。
B.掌握MATLABGUI程序设计。
2.2课程设计的内容
要求利用MATLABGUI设计实现一个图形用户界面的计算器程序,要求实现:
A.具有友好的用户图形界面。
实现十进制数的加、减、乘、除、乘方、取模等简单计算。
B.科学计算函数,包括(反)正弦、(反)余弦、(反)正切、(反)余切、开方、指数等函数运行。
C.有清除键,能清除操作,并对不正确的表达式能指出其错误原因。
2.3题目分析
本题目通过MATLAB的gui程序设计较为简单,在gui设计中主要用到三种控件,显示框用到文本编辑框(edittext),说明框用到静态文本框(Statictext),数字以及运算等按钮用到命令按钮(pushbutton)。
然后在通过各个按钮的回调函数,实现简单的计算功能。
2.4掌握书写程序设计开发文档的能力。
3.课程设计内容与步骤
3.1首先用MATLABGUI功能,在绘制一个静态文本框和一个文本编辑框,以及33个命令按钮,调整好各控件大小、颜色,整体布局如图所示:
然后通过双击个按钮来改写其属性,在m文件中编写其回调函数,最后在运行调试。
3.2具体设计
3.2.1各功能界面设计
GUI设计界面:
3.2.2各功能模块实现
算法设计:
A.数字键1-9以及‘(’、‘)’设计,以0为例,其他只是参数不同;
globaljj
a=get(handles.edit1,'
String'
)
if(strcmp(a,'
0'
)==1)|(jj==3)
set(handles.edit1,'
'
1'
else
a=strcat(a,'
a)
end
jj=0
B.四则运算:
+、-、*,以‘+’为例,其他只是参数不同
s1=strcat(a,'
+'
if(jj==0)|(jj==3)
s1)
jj=2
C.三角函数:
‘sin’、‘cos’,以‘sin’为例
b=eval(a)
c=sin(b*pi/180)//计算余弦时换成c=cos(b*pi/180)
set(handles.edit1,'
num2str(c))
jj=3
D.三角函数:
‘tan’、‘cot’,以‘tan’为例
ifmod(b,90)~=0//参数不可为90的整数倍,若为余切则不可为180的
a=tan(b*pi/180)//整数倍
num2str(a))
else
notinthevary'
E.清屏函数
);
F.退格键:
通过取屏幕值,计算出其字符长度,然后取其前N-1项的值来实现退格:
textString=get(handles.edit1,'
);
if(strcmp(textString,'
0.'
)==1)&
(jj==0)
ss=char(textString);
l=length(textString);
textString=ss(1:
l-1);
textString)
jj=0;
3.3各模块实现结果
A.数字键:
B.四则运算函数:
C.科学计算函数:
sin30的计算结果是0.5
4.结果分析
测试结果:
4.1计算(1+9)/5
计算结果=2
4.2计算3*4
计算结果=12
4.3arcsin0.5计算结果为30
4.4计算3/0
计算结果:
显示‘error’表明除数不能为0
4.5计算1+2^2
计算结果为5
4.6计算sqrt(8)结果为2.8284
4.7计算sqrt(-6)结果:
显示‘error’表明负数不可开平方
4.8计算Log2(4)结果为2
4.9计算arcsin(-4)结果为计算结果:
显示‘error’表明参数超过定义域
经过计算,这些结果均与实际结果相吻合,计算器的功能实现的较为完好。
5.课程设计源代码
0:
(jj==0)|(jj==1)
textString=strcat(textString,'
textString)
1:
2:
2'
3:
3'
4:
4'
5:
5'
6:
6'
7:
7'
8:
8'
9:
9'
A.四则运算函数:
+:
if(jj==2)
s1=a
else
jj=2
-:
-'
*:
*'
/:
/'
=:
globalx
if(x==1)&
(b==inf)
NaN'
num2str(b))
jj=1
x=0
C.科学计算函数:
Sin函数
b=eval(a)/180*pi
c=sin(b)
Cos函数
c=cos(b)
Tan函数
d=eval(a)
if(d==90)
error'
b=d/180*pi;
c=tan(b);
num2str(c));
end
Cot函数
c=cot(b)
Arcsin函数
c=asin(b)*180/pi
Arccos函数
c=acos(b)*180/pi
Arctan函数
c=atan(b)*180/pi
Arccot函数
c=acot(b)*180/pi
平方
s1=strcat(a,'
^2'
开方
b=sqrt(eval(a))
Log10函数
c=log10(b)
Log2函数
c=log2(b)
D.退格键:
E.清屏键函数:
'
6.问题和解决方法
在遇到报错的情况下,再按数字键,后面还是会出来数字,按照常理,报错后再按数字,应该只显示数字。
所以在对于数字的编程中,需要加判断语句,使这种情况消失。
如果没按左括号就按右括号则程序应该提示没按左括号,具体方法是在左括号的函数中设置一个全局变量f,按下左括号则f=1,然后在右括号的函数中判断f的值,f=0则表示没按左括号,此时提示没按左括号
7.心得体会
通过本次的课程设计使我加深了对MATLAB在自动控制原理中的应用。
学会了如何画控制系统的原理框图以及在其基础上的模拟和仿真。
在编写程序的过程中,遇到了各种各样的问题,有的是因为考虑不周到,有的则是因为粗心大意。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算器