基于MATLAB计算器设计与开发 下载本文

内容发布更新时间 : 2024/11/10 6:15:27星期一 下面是文章的全部内容请认真阅读。

六.主要参考文献 ......................................................................................................................... 19 成绩

一、课程设计应达到的目的

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

计实践帮助学生巩固关于数据结构、算法、程序设计的基础知识。通过本课程设计,学生可以初步掌握开发一个小型实用系统的基本方法,提高运用编程软件实现GUI程序设计的能力。

二、 课程设计的基本要求:

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

A. 具有友好的用户图形界面。实现十进制数的加、减、乘、除、乘方、取模等简单计算。(必做)

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

C. 能够保存上次历史计算的答案,先是答案存储器中得内容。(必做) D. 有清除键,能清除操作,并对不正确的表达式能指出其错误原因。(必做) E. 独立存储器功能,使之可以直接输入存储器,可与存储器中的数值相加减。能够清除独立存储器中的内容。(选做)

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

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

三、课题设计内容与步骤

3.1 各功能界面设计 GUI设计界面:

3.2 各功能模块实现 算法设计:

A. 数字键设计:0—9以及小数点函数都一样,只是参数不同:

global jj

textString = get(handles.text1,'String'); if(strcmp(textString,'0.')==1)&(jj==0) set(handles. edit1,'String','1') ; else

textString =strcat(textString,'1'); set(handles. edit1,'String',textString) end jj=0;

B. 四则运算函数:

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

C. 科学计算函数:

textString = get(handles. edit1,'String'); if(strcmp(textString,'0.')==1)

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

a = strread(textString, '%f'); a=sin(a);

set(handles. edit1,'String',a) end

D. 退格键:通过取屏幕值,计算出其字符长度,然后取其前N-1项的值来实现退格: global jj

textString = get(handles. edit1,'String'); if(strcmp(textString,'0.')==1)&(jj==0) set(handles. edit1,'String','0.') ; else

ss=char(textString); l=length(textString); textString=ss(1:l-1);

set(handles. edit1,'String',textString) end jj=0;

E. 清屏键函数:

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