用MATLAB制作简单计算器

上传人:ail****e2 文档编号:46454917 上传时间:2021-12-13 格式:DOC 页数:23 大小:577.50KB
收藏 版权申诉 举报 下载
用MATLAB制作简单计算器_第1页
第1页 / 共23页
用MATLAB制作简单计算器_第2页
第2页 / 共23页
用MATLAB制作简单计算器_第3页
第3页 / 共23页
资源描述:

《用MATLAB制作简单计算器》由会员分享,可在线阅读,更多相关《用MATLAB制作简单计算器(23页珍藏版)》请在装配图网上搜索。

1、完美WORD格式.整理安阳工学院电子信息与电气工程学院MATLAB编程与应用课程大作业题目:用MATLAB作简单计算器 班级:电子信息工程(专升本)教师成绩由以下评分标准累计得出1、 设计和仿真结果正确,分析清晰合理。40%2、 大作业报告重点突出、阐述清晰。30%3、 陈述清晰正确、有说服力,能够正确回答问题。30%总分 (上述成绩由教师填写)学生自评分值(该表格全部由学生填写)任务分值(%)个人贡献分值()姓名姓名张新建李国斌1设计和仿真5030202报告502030个人平均分值(%)5050大作业总成绩(该表格“姓名”和“学号”由学生填写,“成绩”由教师填 写)姓名张新建李国斌学号130

2、2073012913020730109成绩专业资料分享1. 计任务:1、熟悉MATLAB勺主要控件使用方法。2、熟悉MATLA酌GUI设计流程。2. 设计方案利用MATLAB GU设计实现一个图形用户界面的计算器程序,要求实现:A. 实现十进制数的加、减、乘、除、简单计算。B. 科学计算函数,包括正弦、余弦、正切、(余切、开方、指数等函数运行。C. 能够保存上次历史计算的答案,先是答案存储器中得内容。D. 有清除键,能清除操作。3. 方案实施通过MATLAB勺gui程序设计较为简单,在gui设计中主要用到两种控件,显示框用到文本编辑框(edit text ),说明框用到静态文本框(Static

3、 text ), 数字以及运算等按钮用到命令按钮(push butt on )。然后在通过各个按钮的回调 函数,实现简单的计算功能。4. 方案施舍首先用MATLAB GU功能,在绘制一个静态文本框和一个文本编辑框,以及24个命令按钮,调整好各控件大小、颜色,整体布局如图所示:图-1一、布局GUI1.打开Matlab,输入Guide回车或者在工具栏上点击图标出现Guide窗口:图-22.然后双击“ Biank GUI(Default)”出现 GUI 窗口完美WORD格式.整理图-33.添加按钮回田File gdit Vi ew Layout Tools Help Qiv1I|丨丄i片Static

4、 Text:OH |mPush Button |Push Button | Push Button |硕讪E3 gjB蚓F 1 1V1/图-44. 根据按钮的作用及视觉效果做一定的修改把按钮的字符串大小、颜色进行设置,对按钮的位置进行排布,尽量使按钮集中在静态文本框下面。最终设置的静态文本框为白色,其他按钮均为分红色。5保存、添加功能函数把做好的按钮及静态文本框保存后自动弹出Editor的M文本,对然后对相应的pushbutt on添加功能函数。以下是相应按钮的功能函数。(1) 数字按键编写。在 fun cti on pushbutt on 1_Callback(hObject, eve nt

5、data, han dies)下输入:textStri ng = get(ha ndles.text1,Stri ng);textStri ng =strcat(textStri ng,O);set(ha ndles.text1,Stri ng,textStri ng)这是使用句柄handles指向对象textl ,并以字符串形式来存储数据文本框textl的内容,并存储数个“ 0”,然后由 set(handles.text1,String,textString在 textl 中输出。同理,分别在 functionpushbutton210_Callback(hObject,eventdata,

6、handles )下给19数字按键下编写此类程序。(2) .符号键:fun cti on pushbutt on 12_Callback(hObject, eve ntdata, han dles)textStri ng = get(ha ndles.text1,Stri ng);textStri ng =strcat(textStri ng,+);set(ha ndles.text1,Stri ng,textStri ng)strcat的作用是将两个字符串连接起来,就是在已输入的存储数据textStri ng后添加“ +”进行运算。然后执行 set(handles.text1,String,

7、textString)。符号键-、 * 、/与 +的运算函数类似。“平方运算”,主要是由“ A2”功能实现。(3) 运算符“=”的编程:ans =eval(textStri ng);“eval ”的作用是将符号表达式转换成数值表达式。再由 set(handles.text1,String,ans)输出。(4) 按键“ back”编程:即显示一个空字符:set(ha ndles.text1,Stri ng,);按键“ back ”编程:textStri ng = get(ha ndles.text1,Stri ng);set(ha ndles.text1,Stri ng,);ss=char(te

8、xtStri ng);n=len gth(textStri ng);textStri ng=ss(1:w-1);%各w个字符串转成w-1个,即删除了末位字符set(ha ndles.text1,Stri ng,textStri ng)(5) 按键“清空”:把静态文本框的字符清空,返回一个空格set(ha ndles.text1,Stri ng,)(6) 三角函数的编辑function cos_Callback(hObject, eventdata, handles)textStri ng=ha ndles.text1;textStri ng=cos(str2 nu m(get(ha ndles

9、.text1,Stri ng)*pi/180);set(ha ndles.text1,Stri ng, num2str(textStri ng)(get(ha ndles.text1,Stri ng)*pi/180是把角度转换为弧度,这样在编程环境中才能识别,cos才能起作用。然后执行set函数,把结果输出来。同理在 textStri ng = get(ha ndles.text1,Stri ng);专业资料分享完美WORD格式.整理sin ,ta n的回调函数中夜输入相应的函数,只需把textStri ng=cos(str2 num(get(ha ndles.text1,Stri ng)*p

10、i/180); 中的cos改为sin,tan即可(7) 按键“退出”:关闭计算器close(gcf);二、计算器的使用加法运算(+):专业资料分享43210+56789back图-5按“二”后显示平方运算:25A2back退出图-7按“二”后显示625图-8完美WORD格式.整理5. 通过本次实验实现十进制数的加、减、乘、除、简单计算对Matlab的操作有了进一步的认识和了解,通过多次的修改调查做出实验,验证了实验的正确性, 大大的提高了我们对Matlab功能的认识,培养了我们的兴趣。6. 任务分工张新建:主要负责设计和仿真;李国斌:主要负责设计和实验报告的撰写。三、附各按键的程序源代码:fu

11、n cti on pushbutt on 1_Callback(hObject, eve ntdata, han dies)textStri ng = get(ha ndles.text1,Stri ng);textStri ng =strcat(textStri ng,O);set(ha ndles.text1,Stri ng,textStri ng)fun cti on pushbutt on 2_Callback(hObject, eve ntdata, han dles)textStri ng = get(ha ndles.text1,Stri ng);textStri ng =str

12、cat(textStri ng,1);set(ha ndles.text1,Stri ng,textStri ng)fun cti on pushbutt on 3_Callback(hObject, eve ntdata, han dles)textStri ng = get(ha ndles.text1,Stri ng);set(ha ndles.text1,Stri ng,textStri ng)fun cti on pushbutt on 4_Callback(hObject, eve ntdata, han dies) textStri ng = get(ha ndles.text1

13、,Stri ng);textStri ng =strcat(textStri ng,3);set(ha ndles.text1,Stri ng,textStri ng)fun cti on pushbutt on 5_Callback(hObject, eve ntdata, han dles)textStri ng = get(ha ndles.text1,Stri ng);textStri ng =strcat(textStri ng,4);set(ha ndles.text1,Stri ng,textStri ng)fun cti on pushbutt on 6_Callback(hO

14、bject, eve ntdata, han dles)textStri ng = get(ha ndles.text1,Stri ng);textStri ng =strcat(textStri ng,5);set(ha ndles.text1,Stri ng,textStri ng)fun cti on pushbutt on 7_Callback(hObject, eve ntdata, han dles)textStri ng = get(ha ndles.text1,Stri ng);textStri ng =strcat(textStri ng,6);set(ha ndles.te

15、xt1,Stri ng,textStri ng)专业资料分享完美WORD格式.整理fun cti on pushbutt on 8_Callback(hObject, eve ntdata, han dies) textStri ng = get(ha ndles.text1,Stri ng);textStri ng =strcat(textStri ng,7);set(ha ndles.text1,Stri ng,textStri ng)fun cti on pushbutt on 9_Callback(hObject, eve ntdata, han dles) textStri ng =

16、 get(ha ndles.text1,Stri ng);textStri ng =strcat(textStri ng,8);set(ha ndles.text1,Stri ng,textStri ng)fun cti on pushbutt on 10_Callback(hObject, eve ntdata, han dles) textStri ng = get(ha ndles.text1,Stri ng);textStri ng =strcat(textStri ng,9);set(ha ndles.text1,Stri ng,textStri ng)fun cti on push

17、butt on 11_Callback(hObject, eve ntdata, han dles) textStri ng = get(ha ndles.text1,Stri ng);textStri ng =strcat(textStri ng,+);set(ha ndles.text1,Stri ng,textStri ng)fun cti on pushbutt on 12_Callback(hObject, eve ntdata, han dles) textStri ng = get(ha ndles.text1,Stri ng);textStri ng =strcat(textS

18、tri ng,-);set(ha ndles.text1,Stri ng,textStri ng) fun cti on pushbutt on 13_Callback(hObject, eve ntdata, han dles) textStri ng = get(ha ndles.text1,Stri ng);textStri ng =strcat(textStri ng,*);set(ha ndles.text1,Stri ng,textStri ng) fun cti on pushbutt on 14_Callback(hObject, eve ntdata, han dles) t

19、extStri ng = get(ha ndles.text1,Stri ng);textStri ng =strcat(textStri ng,/);set(ha ndles.text1,Stri ng,textStri ng) fun cti on pushbutt on 15_Callback(hObject, eve ntdata, han dles)textStri ng = get(ha ndles.text1,Stri ng);textStri ng =strcat(textStri ng,.);专业资料分享完美WORD格式.整理set(ha ndles.text1,Stri n

20、g,textStri ng) fun cti on pushbutt on 16_Callback(hObject, eve ntdata, han dies) textStri ng = get(ha ndles.text1,Stri ng);ans =eval(textStri ng);set(ha ndles.text1,Stri ng,a ns) fun cti on pushbutt on 17_Callback(hObject, eve ntdata, han dles) textStri ng = get(ha ndles.text1,Stri ng);textStri ng =

21、strcat(textStri ng,A2);set(ha ndles.text1,Stri ng,textStri ng) fun cti on pushbutt on 18_Callback(hObject, eve ntdata, han dles)set(ha ndles.text1,Stri ng,);ss=char(textStri ng);n=len gth(textStri ng);textStri ng=ss(1:w-1);set(ha ndles.text1,Stri ng,textStri ng)fun cti on pushbutt on 19_Callback(hObject, eve ntdata, han dles)set(ha ndles.text1,Stri ng,) fun cti on pushbutt on 20_Callback(hObject, eve ntdata, han dles) close(gcf);专业资料分享

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!