资源描述:
《用matlab制作简单计算器》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、WORD格式可编辑安阳工学院电子信息与电气工程学院《MATLAB编程与应用》课程大作业题目:用MATLAB制作简单计算器班级:电子信息工程(专升本)教师成绩由以下评分标准累计得出1、设计和仿真结果正确,分析清晰合理。40%2、大作业报告重点突出、阐述清晰。30%3、陈述清晰正确、有说服力,能够正确回答问题。30%总分(上述成绩由教师填写)学生自评分值(该表格全部由学生填写)任务分值(%)个人贡献分值(%)姓名姓名张新建李国斌1设计和仿真5030202报告502030个人平均分值(%)5050大作业总成绩(该表格“姓名”和“学号”由学生填写,“成绩”由教师填写)姓名张新建李国斌学号130
2、2073012913020730109成绩专业技术资料分享WORD格式可编辑1.计任务:1、熟悉MATLAB的主要控件使用方法。2、熟悉MATLAB的GUI设计流程。2.设计方案利用MATLABGUI设计实现一个图形用户界面的计算器程序,要求实现:A.实现十进制数的加、减、乘、除、简单计算。B.科学计算函数,包括正弦、余弦、正切、(余切、开方、指数等函数运行。C.能够保存上次历史计算的答案,先是答案存储器中得内容。D.有清除键,能清除操作。3.方案实施通过MATLAB的gui程序设计较为简单,在gui设计中主要用到两种控件,显示框用到文本编辑框(edittext),说明框用到静态文本框
3、(Statictext),数字以及运算等按钮用到命令按钮(pushbutton)。然后在通过各个按钮的回调函数,实现简单的计算功能。4.方案施舍首先用MATLABGUI功能,在绘制一个静态文本框和一个文本编辑框,以及24个命令按钮,调整好各控件大小、颜色,整体布局如图所示:专业技术资料分享WORD格式可编辑图-1一、布局GUI1.打开Matlab,输入Guide回车或者在工具栏上点击图标出现Guide窗口:专业技术资料分享WORD格式可编辑图–22.然后双击“BlankGUI(Default)”出现GUI窗口图-33.添加按钮专业技术资料分享WORD格式可编辑图-44.根据按钮的作用及
4、视觉效果做一定的修改把按钮的字符串大小、颜色进行设置,对按钮的位置进行排布,尽量使按钮集中在静态文本框下面。最终设置的静态文本框为白色,其他按钮均为分红色。5.保存、添加功能函数把做好的按钮及静态文本框保存后自动弹出Editor的M文本,对然后对相应的pushbutton添加功能函数。以下是相应按钮的功能函数。(1)数字按键编写。在functionpushbutton1_Callback(hObject,eventdata,handles)下输入:textString=get(handles.text1,'String');textString=strcat(textString,'0
5、');set(handles.text1,'String',textString)这是使用句柄handles指向对象text1,并以字符串形式来存储数据文本框text1的内容,并存储数个“0”,专业技术资料分享WORD格式可编辑然后由set(handles.text1,'String','textString'在text1中输出。同理,分别在functionpushbutton2~10_Callback(hObject,eventdata,handles)下给1~9数字按键下编写此类程序。(2).符号键:functionpushbutton12_Callback(hObject,eve
6、ntdata,handles)textString=get(handles.text1,'String');textString=strcat(textString,'+');set(handles.text1,'String',textString)strcat的作用是将两个字符串连接起来,就是在已输入的存储数据textString后添加“+”进行运算。然后执行set(handles.text1,'String',textString)。符号键‘-’、‘*’、‘/’与‘+’的运算函数类似。“平方运算”,主要是由“^2”功能实现。(3)运算符“=”的编程:textString=get(
7、handles.text1,'String');ans=eval(textString);“eval”的作用是将符号表达式转换成数值表达式。再由set(handles.text1,'String',ans)输出。(4)按键“back”编程:即显示一个空字符:set(handles.text1,'String','');按键“back”编程:textString=get(handles.text1,'String');set(handles.te