用MATLAB制作简单计算器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用M A T L A B制作简单计

算器

Company number:【0089WT-8898YT-W8CCB-BUUT-202108】

安阳工学院电子信息与电气工程学院《MATLAB编程与应用》课程大作业

题目:用MATLAB制作简单计算器

班级:电子信息工程(专升本)

教师成绩由以下评分标准累计得出

1、设计和仿真结果正确,分析清晰合理。 40%

2、大作业报告重点突出、阐述清晰。 30%

3、陈述清晰正确、有说服力,能够正确回答问题。 30%

总分

(上述成绩由教师填写)

学生自评分值(该表格全部由学生填写)

大作业总成绩(该表格“姓名”和“学号”由学生填写,“成绩”由教师填写)

1.计任务: 1、熟悉MATLAB的主要控件使用方法。

2、熟悉MATLAB的GUI设计流程。

2.设计方案

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

A.实现十进制数的加、减、乘、除、简单计算。

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

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

D. 有清除键,能清除操作。

3.方案实施

通过MATLAB的gui程序设计较为简单,在gui设计中主要用到两种控件,显示框用到文本编辑框(edit text),说明框用到静态文本框(Static text),数字以及运算等按钮用到命令按钮(push button)。然后在通过各个按钮的回调函数,实现简单的计算功能。

4.方案施舍

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

图-1

一、布局GUI

1.打开Matlab,输入Guide 回车或者在工具栏上点击图标出现Guide 窗口:

图–2

2.然后双击“Blank GUI(Default)”出现GUI窗口

图-3

3.添加按钮

图-4

4.根据按钮的作用及视觉效果做一定的修改

把按钮的字符串大小、颜色进行设置,对按钮的位置进行排布,尽量使按钮集中在静态文本框下面。最终设置的静态文本框为白色,其他按钮均为分红色。

5.保存、添加功能函数

把做好的按钮及静态文本框保存后自动弹出Editor的M文本,对然后对相应的pushbutton添加功能函数。以下是相应按钮的功能函数。

(1)数字按键编写。

在function pushbutton1_Callback(hObject, eventdata, handles)下输

入:

textString = get,'String');

textString =strcat(textString,'0');

set,'String',textString)

这是使用句柄handles指向对象text1,并以字符串形式来存储数据文本框text1的内容,并存储数个“0”,

然后由set,'String','textString'在text1中输出。

同理,分别在function pushbutton2~10_Callback(hObject, eventdata, handles)下给1~9数字按键下编写此类程序。

(2).符号键:

function pushbutton12_Callback(hObject, eventdata, handles) textString = get,'String');

textString =strcat(textString,'+');

set,'String',textString)

strcat的作用是将两个字符串连接起来,就是在已输入的存储数据textString 后添加“+”进行运算。

然后执行set,'String',textString)。符号键‘-’、‘*’、‘/’与‘+’的运算函数类似。

“平方运算”,主要是由“^2”功能实现。

(3)运算符“=”的编程:

textString = get,'String');

ans =eval(textString);

“eval”的作用是将符号表达式转换成数值表达式。

再由set,'String',ans)输出。

(4)按键“back”编程:即显示一个空字符:

set,'String','') ;

按键“back”编程:

textString = get,'String');

set,'String','') ;

ss=char(textString);

n=length(textString);

textString=ss(1:w-1);

%将w个字符串转成w-1个,即删除了末位字符

set,'String',textString)

(5)按键“清空”:把静态文本框的字符清空,返回一个空格

set,'String','')

(6)三角函数的编辑

function cos_Callback(hObject, eventdata, handles)

textString=;

textString=cos(str2num(get,'String'))*pi/180);

set,'String',num2str(textString))

(get,'String'))*pi/180是把角度转换为弧度,这样在编程环境中才能识别,cos才能起作用。然后执行set函数,把结果输出来。同理在sin,tan的回调函数中夜输入相应的函数,只需把

textString=cos(str2num(get,'String'))*pi/180);

中的cos改为sin,tan即可

(7)按键“退出”:关闭计算器

close(gcf);

二、计算器的使用

加法运算(+):

图-5

按“=”后显示

图-6

平方运算:

图-7

按“=”后显示

图-8

5.通过本次实验实现十进制数的加、减、乘、除、简单计算对Matlab的操作有了进一步的认识和了解,通过多次的修改调查做出实验,验证了实验的正确性,大大的提高了我们对Matlab功能的认识,培养了我们的兴趣。

6.任务分工

相关文档
最新文档