好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

基于MATLAB GUI的简易计算器设计.docx

21页
  • 卖家[上传人]:桔****
  • 文档编号:555282971
  • 上传时间:2023-12-10
  • 文档格式:DOCX
  • 文档大小:203.44KB
  • / 21 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 基于MATLAB GUI的简易计算器设计摘要基于MATLAB GUI的计算器设计是利用GUIDE创建图形用户界面进行计算器设计设计计算器时,主要是考虑到计算器的易用性、功能的常用程度进行计算器界面与功能的设计通过调整控件和文本的布局及颜色,使界面简单大方、布局合理,达到界面友好的效果计算器设计时主要利用到get和set两个函数进行各个控件属性值的传递和设置计算器实现的功能有:数字0~9和小数点的输入显示,平方、开平方和对数的输入显示进行四则运算、正弦计算、余弦计算、正切计算和余切计算,可以求阶乘、求百分数和求倒数可以进行括号及变量x与变量y的输入,结合坐标轴编辑框和曲线颜色编辑框实现函数的曲线绘制最后运行调试,实现基于MATLAB GUI的计算器的设计关键词:MATLAB、GUI、计算器1 MATLAB GUI介绍MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境MATLAB是matrix和laboratory两个词的组合,意为矩阵工厂,主要面对科学计算、可视化以及交互式程序设计的高科技计算环境MATLAB是将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言的编辑模式,特别是所附带的30多种面向不同领域的工具箱支持,使得它在许多科学领域中成为计算机辅助设计和分析、算法研究和应用开发的基本工具和首选平台。

      MATLAB的图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受MATLAB的图形用户界面(GUI)是由光标,窗口,菜单、文字说明等对象构成一个用户界面用户可以通过键盘输入相关的参数,通过鼠标选择、激活这些对象,使计算机完成相关的计算或者绘制波形等功能MATLAB的GUI为开发者提供了一个不脱离MATLAB的开发环境,有助于MATLAB程序的GUI集成这样可以使开发者不必理会一大堆烦杂的代码,简化程序,但是同样可以实现向决策者提供图文并茂的界面,甚至达到多媒体的效果可以说MATLAB提供了一个简便的开发环境,可以让开发者快速上手,提高了开发者的工作效率MATLAB的图形界面设计是通过对各种图形对象的操作来实现的,因此用户在使用的过程需要深入了解各种图形对象的特征、属性和操作由此可见,图形用户界面的设计、制作是一件比较繁琐的工作图形用户界面的创建一般有两种常用的方式:第一是通过使用m文件直接动态添加控件;第二是使用GUIDE快速生成GUI界面。

      这两种实现的方法都需要使用M语言编程,但是技术的侧重点不同所谓的GUIDE就是图形用户界面开发环境(Graphical User Interface Development Environment),它向用户提供了一系列的创建用户图形界面的工具这些工具大大简化了GUI设计和生成的过程GUIDE可以完成的任务有如下两点:第一是输出GUI,第二是GUI编程GUIDE实际上是一套MATLAB工具集 打开GUIDE,新建并且保存后,会生成相应的fig文件和m文件,fig文件储存有图形用户界面的外形、菜单构架等信息;m文件则储存设计的程序部分,如主程序、回调函数(Callback)等在Layout编辑视图,可以使用如下工具:布局编辑器(Layout Editor),对齐工具(Alignment Tool),对象属性观察器(Property Inspector),对象浏览器(Object Browser),菜单编辑器(Menu Editor)新建一个布局,可以在新窗口中添加各种控件:静态文本(Static Text),编辑框(Edit Text),列表框(List box),滚动条(Slider),按钮(Push button),开关按钮(Toggle Button),单选按钮(Radio button),按钮组(Button Group),检查框(Check Box),弹出式菜单(Popup Menu),坐标轴(Axes),面板(Panel)。

      每个控件的属性中都含有多个参数,对应各个参数,可以对控件的外观,位置等各方面属性进行修改其实GUIDE创建图形用户界面的基础也是图形句柄对象,只不过是具有很好的封装,使用起来简便,而且还能够做到可视化的开发,对于一般的用户使用GUIDE创建图形用户界面应用程序已经足够了本文利用GUIDE创建图形用户界面进行计算器设计,设计GUI界面时,应使总体界面简单大方、控件布局合理,最终达到总体界面友好的效果[3]2 计算器设计思路本文利用GUIDE创建图形用户界面进行计算器设计设计计算器时,主要是考虑到计算器的易用性、功能的常用程度进行计算器界面与功能的设计通过调整控件和文本的布局及颜色,使界面简单大方、布局合理,达到界面友好的效果计算器设计时主要利用到get和set两个函数进行各个控件属性值的传递和设置,利用strcat函数实现把两个字符串连接起来利用length函数来计算字符串的长度实现后退的功能利用eval函数将文本框中的字符串转换成数值表达式,利用MATLAB计算出结果返回显示利用坐标轴axes和ezplot函数进行图形的绘制,利用factorial函数进行求阶乘运算利用str2num及num2str实现数值与字符之间的转换。

      图2-1 计算器设计流程图3 设计计算器界面及功能计算器程序由MATLAB代码(.m文件)和GUI图形(.fig)两个部分组成程序的使用方式是直接利用图形界面中的按键键入所需数值、运算符等,再按等于号即可得出结果首先用MATLAB GUI功能,先绘制2个静态文本框和一个坐标轴,再绘制35个命令按钮,以及5个文本编辑框,调整好各控件大小、颜色,整体布局(如图3-1所示)图3-1 MATLAB GUI编辑计算器界面然后通过双击各个按钮来改写其大小、颜色等属性,在m文件中找到与相应按钮对应的回调函数编写其回调函数,最后再运行调试计算器设计实现的功能有:数字0~9和小数点的输入显示,平方、开平方和对数的输入显示进行四则运算、正弦计算、余弦计算、正切计算和余切计算,可以求阶乘、求百分数和求倒数可以进行括号及变量x与变量y的输入,结合坐标轴编辑框和曲线颜色编辑框实现函数的曲线绘制还可以实现后退、清空和退出的功能(如图3-2所示)图3-2 计算器功能界面4 计算器的功能实现4.1 数字0~9设计计算器数字0~9以按钮(Push Button)为输入传递数字,面板(Panel)和静态文本(Static Text)进行控件的排列和数字显示说明,进行整体界面的设计[1]。

      图4-1 计算器数字输入图数字1~9与数字0的实现代码类似,数字0的实现代码如下:function pushbutton17_Callback(hObject, eventdata, handles)textString = get(handles.text2,'String'); %把text2中的字符串赋给textstringtextString = strcat(textString,'0'); %把textstring中的字符与0连接起来并赋给textstringset(handles.text2,'String',textString) %把新的textstring中的内容以字符串的形式显示在text2中4.2 四则运算设计计算器的四则运算是以按钮(Push Button)为输入传递运算符号,面板(Panel)和静态文本(Static Text)进行控件的排列和运算符号显示说明,进行整体界面的设计图4-2 计算器四则运算图运算符号*、/、+与运算符号-的实现代码类似,运算符号-的实现代码如下:function pushbutton12_Callback(hObject, eventdata, handles)textString = get(handles.text2,'String'); %把text2中的字符串赋给textstringtextString = strcat(textString,'/'); %把textstring中的字符与/连接起来并赋给textstringset(handles.text2,'String',textString) %把新的textstring中的内容以字符串的形式显示在text2中4.3 简单科学计算设计计算器的简单科学计算是以按钮(Push Button)为输入传递运算符号,面板(Panel)和静态文本(Static Text)进行控件的排列和运算符号显示说明,进行整体界面的设计,正弦、余弦、正切和余切运算是弧度制。

      图4-3 计算器余弦运算图正弦、正切和余切运算与余弦运算的实现代码类似,余弦运算的实现代码如下:function pushbutton22_Callback(hObject, eventdata, handles)textString = get(handles.text2,'String'); %把text2中的字符串赋给textstringtextString = strcat(textString,'cos('); %把textstring中的字符与cos(连接起来并赋给textstringset(handles.text2,'String',textString) %把新的textstring中的内容以字符串的形式显示在text2中图4-4 计算器阶乘运算图阶乘运算的实现代码如下:function pushbutton35_Callback(hObject, eventdata, handles)textString = get(handles.text2,'String'); %把text2中的字符串赋给textstringans = factorial(str2num(textString));%把textString求阶乘赋给textstringtextString = strcat(textString,'!'); %把textstring中的字符与!连接起来并赋给textstringset(handles.text1,'String',textString);%把新的textstring中的内容以字符串的形式显示在text1中set(handles.text2,'String',ans)%把ans中的内容以字符串的形式显示在text2中4.4 绘制函数图像设计计算器的绘制函数图像功能是以文本编辑框(Edit Text)为输入传递图形属性,面板(Panel)和静态文本(Static Text)进行控件的排列和运算符号显示说明,坐标轴坐标轴(Axes)进行图形的显示,进行整体界面的设计。

      Xmin、Xmax为横坐标的范围,Ymin、Ymax为纵坐标的范围,Color为曲线的颜色设置,绘制图像的函数只能为两变量的函数[2]图4-5 计算器函数图形绘制绘制函数图像的实现代码如下:function pushbutton29_Callback(hObject, eventdata, handles)fun = get(handles.text2,'String');%把text2中的字符。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.