




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、安阳工学院电子信息与电气工程学院MATLAB编程与应用课程大作业题目:用MATLAB制作简单计算器 班级:电子信息工程(专升本)教师成绩由以下评分标准累计得出1、 设计和仿真结果正确,分析清晰合理。 40% 2、 大作业报告重点突出、阐述清晰。 30% 3、 陈述清晰正确、有说服力,能够正确回答问题。 30% 总分 (上述成绩由教师填写)学生自评分值(该表格全部由学生填写)任务分值 (%) 个人贡献分值 (%)姓名姓名张新建李国斌1设计和仿真5030202报告502030个人平均分值(%)5050大作业总成绩(该表格“姓名”和“学号”由学生填写,“成绩”由教师填写)姓名张新建李国斌学号1302
2、073012913020730109成绩 用MATLAB制作简单计算器1.计任务: 1、熟悉MATLAB的主要控件使用方法。2、熟悉MATLAB的GUI设计流程。2.设计方案利用MATLAB GUI设计实现一个图形用户界面的计算器程序,要求实现:A.实现十进制数的加、减、乘、除、简单计算。B. 科学计算函数,包括正弦、余弦、正切、(余切、开方、指数等函数运行。C. 能够保存上次历史计算的答案,先是答案存储器中得内容。D. 有清除键,能清除操作。 3.方案实施通过MATLAB的gui程序设计较为简单,在gui设计中主要用到两种控件,显示框用到文本编辑框(edit text),说明框用到静态文本框
3、(Static text),数字以及运算等按钮用到命令按钮(push button)。然后在通过各个按钮的回调函数,实现简单的计算功能。4.方案施舍首先用MATLAB GUI功能,在绘制一个静态文本框和一个文本编辑框,以及24个命令按钮,调整好各控件大小、颜色,整体布局如图所示:图-1 一、布局GUI1.打开Matlab,输入Guide 回车或者在工具栏上点击图标出现Guide 窗口:图22.然后双击“Blank GUI(Default)”出现GUI窗口图-3 3.添加按钮图-4 4.根据按钮的作用及视觉效果做一定的修改把按钮的字符串大小、颜色进行设置,对按钮的位置进行排布,尽量使按钮集中在静
4、态文本框下面。最终设置的静态文本框为白色,其他按钮均为分红色。5.保存、添加功能函数 把做好的按钮及静态文本框保存后自动弹出Editor的M文本,对然后对相应的pushbutton添加功能函数。以下是相应按钮的功能函数。(1)数字按键编写。在function pushbutton1_Callback(hObject, eventdata, handles)下输入:textString = get(handles.text1,'String');textString =strcat(textString,'0');set(handles.text1,'St
5、ring',textString)这是使用句柄handles指向对象text1,并以字符串形式来存储数据文本框text1的内容,并存储数个“0”,然后由set(handles.text1,'String','textString'在text1中输出。同理,分别在function pushbutton210_Callback(hObject, eventdata, handles)下给19数字按键下编写此类程序。(2).符号键:function pushbutton12_Callback(hObject, eventdata, handles)textSt
6、ring = get(handles.text1,'String');textString =strcat(textString,'+');set(handles.text1,'String',textString)strcat的作用是将两个字符串连接起来,就是在已输入的存储数据textString后添加“+”进行运算。然后执行set(handles.text1,'String',textString)。符号键-、*、/与+的运算函数类似。“平方运算”,主要是由“2”功能实现。(3)运算符“=”的编程:textString = g
7、et(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.text1,'String','
8、39;) ; ss=char(textString);n=length(textString);textString=ss(1:w-1);%将w个字符串转成w-1个,即删除了末位字符set(handles.text1,'String',textString)(5)按键“清空”:把静态文本框的字符清空,返回一个空格set(handles.text1,'String','')(6)三角函数的编辑function cos_Callback(hObject, eventdata, handles)textString=handles.text1;text
9、String=cos(str2num(get(handles.text1,'String')*pi/180);set(handles.text1,'String',num2str(textString)(get(handles.text1,'String')*pi/180是把角度转换为弧度,这样在编程环境中才能识别,cos才能起作用。然后执行set函数,把结果输出来。同理在sin,tan的回调函数中夜输入相应的函数,只需把textString=cos(str2num(get(handles.text1,'String')*pi/1
10、80);中的cos改为sin,tan即可(7)按键“退出”:关闭计算器close(gcf);二、计算器的使用加法运算(+): 图-5 按“=”后显示图-6 平方运算:图-7 按“=”后显示图-8 5.通过本次实验实现十进制数的加、减、乘、除、简单计算对Matlab的操作有了进一步的认识和了解,通过多次的修改调查做出实验,验证了实验的正确性,大大的提高了我们对Matlab功能的认识,培养了我们的兴趣。6.任务分工张新建:主要负责设计和仿真;李国斌:主要负责设计和实验报告的撰写。三、附各按键的程序源代码:function pushbutton1_Callback(hObject, eventdat
11、a, handles)textString = get(handles.text1,'String');textString =strcat(textString,'0');set(handles.text1,'String',textString)function pushbutton2_Callback(hObject, eventdata, handles)textString = get(handles.text1,'String');textString =strcat(textString,'1');s
12、et(handles.text1,'String',textString)function pushbutton3_Callback(hObject, eventdata, handles)textString = get(handles.text1,'String');textString =strcat(textString,'2');set(handles.text1,'String',textString)function pushbutton4_Callback(hObject, eventdata, handles)t
13、extString = get(handles.text1,'String');textString =strcat(textString,'3');set(handles.text1,'String',textString)function pushbutton5_Callback(hObject, eventdata, handles)textString = get(handles.text1,'String');textString =strcat(textString,'4');set(handles.t
14、ext1,'String',textString)function pushbutton6_Callback(hObject, eventdata, handles)textString = get(handles.text1,'String');textString =strcat(textString,'5');set(handles.text1,'String',textString)function pushbutton7_Callback(hObject, eventdata, handles)textString =
15、get(handles.text1,'String');textString =strcat(textString,'6');set(handles.text1,'String',textString)function pushbutton8_Callback(hObject, eventdata, handles)textString = get(handles.text1,'String');textString =strcat(textString,'7');set(handles.text1,'St
16、ring',textString)function pushbutton9_Callback(hObject, eventdata, handles)textString = get(handles.text1,'String');textString =strcat(textString,'8');set(handles.text1,'String',textString)function pushbutton10_Callback(hObject, eventdata, handles)textString = get(handles
17、.text1,'String');textString =strcat(textString,'9');set(handles.text1,'String',textString)function pushbutton11_Callback(hObject, eventdata, handles)textString = get(handles.text1,'String');textString =strcat(textString,'+');set(handles.text1,'String',
18、textString)function pushbutton12_Callback(hObject, eventdata, handles)textString = get(handles.text1,'String');textString =strcat(textString,'-');set(handles.text1,'String',textString)function pushbutton13_Callback(hObject, eventdata, handles)textString = get(handles.text1,
19、39;String');textString =strcat(textString,'*');set(handles.text1,'String',textString)function pushbutton14_Callback(hObject, eventdata, handles)textString = get(handles.text1,'String');textString =strcat(textString,'/');set(handles.text1,'String',textStrin
20、g)function pushbutton15_Callback(hObject, eventdata, handles)textString = get(handles.text1,'String');textString =strcat(textString,'.');set(handles.text1,'String',textString)function pushbutton16_Callback(hObject, eventdata, handles)textString = get(handles.text1,'String');ans =eval(textString);set(handl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 财务人员离职保密协议及客户信息保护合同
- 离婚协议补充内容协议签订合同
- 绿色环保型厂房建设施工合同规范文本
- 2025年综合类-保险经纪人考试-第三章货物运输保险实务历年真题摘选带答案(5套单选100题合辑)
- 2025年综合类-企业管理咨询实务-第五章财务管理咨询历年真题摘选带答案(5套单选100题合辑)
- 2025年综合类-二级结构工程师专业知识-二级结构工程师专业知识-地基与基础历年真题摘选带答案(5卷单选题百道集合)
- 2025年综合类-临床医学检验技术(师)-临床微生物学检验历年真题摘选带答案(5卷单选100题合辑)
- 2025年综合类-中级会计实务-第十九章资产负债表日后事项历年真题摘选带答案(5套单选100题合辑)
- 2025年综合类-中学化学(高级)-中学化学(高级)-第一章 高中化学课程内容及分析历年真题摘选带答案(5卷单选题百道集合)
- 后勤中心仓库管理办法
- 如何提高患者满意度
- 2025-2026年中国台球产业消费趋势报告
- 电玩城店面管理制度
- T/TMAC 085-2024燃煤发电机组智能控制与灵活性运行技术导则
- 中介雇主护工合同范本
- 台钓介绍课件
- 2025年中级银行从业资格考试《个人贷款》新版真题卷(含答案)
- 2026届高考语文一轮复习:信息类文本阅读 专项测试卷(含答案解析)
- 专题30 北方地区(东北、黄土高原、北京)(填图速记手册)(原卷版)
- (高清版)DG∕TJ 08-2093-2019 电动汽车充电基础设施建设技术标准 含2021年局部修订
- 《慢性伤口治疗与护理》课件
评论
0/150
提交评论