基于MATLAB的数学计算器.docx

上传人:b****5 文档编号:3229878 上传时间:2022-11-20 格式:DOCX 页数:18 大小:284.51KB
下载 相关 举报
基于MATLAB的数学计算器.docx_第1页
第1页 / 共18页
基于MATLAB的数学计算器.docx_第2页
第2页 / 共18页
基于MATLAB的数学计算器.docx_第3页
第3页 / 共18页
基于MATLAB的数学计算器.docx_第4页
第4页 / 共18页
基于MATLAB的数学计算器.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

基于MATLAB的数学计算器.docx

《基于MATLAB的数学计算器.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的数学计算器.docx(18页珍藏版)》请在冰豆网上搜索。

基于MATLAB的数学计算器.docx

基于MATLAB的数学计算器

成绩

 

课程设计报告

 

题目数学计算器的开发

课程名称软件设计

院部名称机电工程学院

专业自动化

班级09自动化

学生姓名

学号

课程设计地点C208

课程设计学时2周

指导教师

金陵科技学院教务处制

1.课程设计目的

本课程是为自动化专业本科生开设的专业课程设计课。

通过本课程的课程设计实践帮助学生巩固关于数据结构、算法、程序设计的基础知识。

通过本课程设计,学生可以初步掌握开发一个小型实用系统的基本方法,提高运用编程软件实现GUI程序设计的能力。

2.课程设计题目及要求

设计题目:

数学计算器的开发。

2.1课程设计的基本要求:

A.熟悉和掌握MATLAB程序设计方法。

B.掌握MATLABGUI程序设计。

2.2课程设计的内容

要求利用MATLABGUI设计实现一个图形用户界面的计算器程序,要求实现:

A.具有友好的用户图形界面。

实现十进制数的加、减、乘、除、乘方、取模等简单计算。

B.科学计算函数,包括(反)正弦、(反)余弦、(反)正切、(反)余切、开方、指数等函数运行。

C.能够保存上次历史计算的答案,先是答案存储器中得内容。

D.有清除键,能清除操作,并对不正确的表达式能指出其错误原因。

2.3题目分析

本题目通过MATLAB的gui程序设计较为简单,在gui设计中主要用到三种控件,显示框用到文本编辑框(edittext),说明框用到静态文本框(Statictext),数字以及运算等按钮用到命令按钮(pushbutton)。

然后在通过各个按钮的回调函数,实现简单的计算功能。

2.4掌握书写程序设计开发文档的能力

3.课程设计方法与步骤

首先用MATLABGUI功能,在绘制一个静态文本框和一个文本编辑框,以及33个命令按钮,调整好各控件大小、颜色,整体布局如图所示:

然后通过双击个按钮来改写其属性,在m文件中编写其回调函数,最后在运行调试。

4、具体设计

4.1各功能界面设计

GUI设计界面:

4.2各功能模块实现

算法设计:

A.数字键设计:

0—9以及小数点函数都一样,只是参数不同:

0:

globaljj

textString=get(handles.edit1,'String');

if(strcmp(textString,'0')==1)&(jj==0)|(jj==1)

set(handles.edit1,'String','0');

else

textString=strcat(textString,'0');

set(handles.edit1,'String',textString)

end

jj=0;

1:

globaljj

textString=get(handles.edit1,'String');

if(strcmp(textString,'0')==1)&(jj==0)|(jj==1)

set(handles.edit1,'String','1');

else

textString=strcat(textString,'1');

set(handles.edit1,'String',textString)

end

jj=0;

2:

globaljj

textString=get(handles.edit1,'String');

if(strcmp(textString,'0')==1)&(jj==0)|(jj==1)

set(handles.edit1,'String','2');

else

textString=strcat(textString,'2');

set(handles.edit1,'String',textString)

end

jj=0;

3:

globaljj

textString=get(handles.edit1,'String');

if(strcmp(textString,'0')==1)&(jj==0)|(jj==1)

set(handles.edit1,'String','3');

else

textString=strcat(textString,'3');

set(handles.edit1,'String',textString)

end

jj=0;

4:

globaljj

textString=get(handles.edit1,'String');

if(strcmp(textString,'0')==1)&(jj==0)|(jj==1)

set(handles.edit1,'String','4');

else

textString=strcat(textString,'4');

set(handles.edit1,'String',textString)

end

jj=0;

5:

globaljj

textString=get(handles.edit1,'String');

if(strcmp(textString,'0')==1)&(jj==0)|(jj==1)

set(handles.edit1,'String','5');

else

textString=strcat(textString,'5');

set(handles.edit1,'String',textString)

end

jj=0;

6:

globaljj

textString=get(handles.edit1,'String');

if(strcmp(textString,'0')==1)&(jj==0)|(jj==1)

set(handles.edit1,'String','6');

else

textString=strcat(textString,'6');

set(handles.edit1,'String',textString)

end

jj=0;

7:

globaljj

textString=get(handles.edit1,'String');

if(strcmp(textString,'0')==1)&(jj==0)|(jj==1)

set(handles.edit1,'String','7');

else

textString=strcat(textString,'7');

set(handles.edit1,'String',textString)

end

jj=0;

8:

globaljj

textString=get(handles.edit1,'String');

if(strcmp(textString,'0')==1)&(jj==0)|(jj==1)

set(handles.edit1,'String','8');

else

textString=strcat(textString,'8');

set(handles.edit1,'String',textString)

end

jj=0;

9:

globaljj

textString=get(handles.edit1,'String');

if(strcmp(textString,'0')==1)&(jj==0)|(jj==1)

set(handles.edit1,'String','9');

else

textString=strcat(textString,'9');

set(handles.edit1,'String',textString)

end

jj=0;

B.四则运算函数:

+:

globaljj

a=get(handles.edit1,'String')

if(jj==2)

s1=a

else

s1=strcat(a,'+')

set(handles.edit1,'String',s1)

end

jj=2

-:

globaljj

a=get(handles.edit1,'String')

if(jj==2)

s1=a

else

s1=strcat(a,'-')

set(handles.edit1,'String',s1)

end

jj=2

*:

globaljj

a=get(handles.edit1,'String')

if(jj==2)

s1=a

else

s1=strcat(a,'*')

set(handles.edit1,'String',s1)

end

jj=2

/:

globaljj

a=get(handles.edit1,'String')

if(jj==2)

s1=a

else

s1=strcat(a,'/')

set(handles.edit1,'String',s1)

end

jj=2

=:

globaljj

globalx

a=get(handles.edit1,'String')

b=eval(a)

if(x==1)&(b==inf)

set(handles.edit1,'String','NaN')

else

set(handles.edit1,'String',num2str(b))

end

jj=1

x=0

C.科学计算函数:

Sin函数

globaljj

a=get(handles.edit1,'String')

b=eval(a)/180*pi

c=sin(b)

set(handles.edit1,'String',num2str(c))

jj=1

Cos函数

globaljj

a=get(handles.edit1,'String')

b=eval(a)/180*pi

c=cos(b)

set(handles.edit1,'String',num2str(c))

jj=1

Tan函数

globaljj

a=get(handles.edit1,'String')

d=eval(a)

if(d==90)

set(handles.edit1,'String','error')

else

b=d/180*pi;

c=tan(b);

set(handles.edit1,'String',num2str(c));

end

jj=1

Cot函数

globaljj

a=get(handles.edit1,'String')

b=eval(a)/180*pi

c=cot(b)

set(handles.edit1,'String',num2str(c))

jj=1

Arcsin函数

globaljj

a=get(handles.edit1,'String')

b=eval(a)

c=asin(b)*180/pi

set(handles.edit1,'String',num2str(c))

jj=1

Arccos函数

globaljj

a=get(handles.edit1,'String')

b=eval(a)

c=acos(b)*180/pi

set(handles.edit1,'String',num2str(c))

jj=1

Arctan函数

globaljj

a=get(handles.edit1,'String')

b=eval(a)

c=atan(b)*180/pi

se

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1