基于MATLAB在GUI计算器设计应用

上传人:仙*** 文档编号:66365205 上传时间:2022-03-27 格式:DOC 页数:18 大小:593KB
收藏 版权申诉 举报 下载
基于MATLAB在GUI计算器设计应用_第1页
第1页 / 共18页
基于MATLAB在GUI计算器设计应用_第2页
第2页 / 共18页
基于MATLAB在GUI计算器设计应用_第3页
第3页 / 共18页
资源描述:

《基于MATLAB在GUI计算器设计应用》由会员分享,可在线阅读,更多相关《基于MATLAB在GUI计算器设计应用(18页珍藏版)》请在装配图网上搜索。

1、基于MATLAB在GUI计算器设计的应用 matlab 课程大作业姓名:卢伟峰 学号: 084633237 班级:电科 082 指导教师:朱静摘要:matlab 是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。使用 MATLAB您可以较使 用传统的编程语言(如C C+和Fortran )更快地解决技术计算问题。matlab 的应用范围非常广,包括信号和图像处理、通讯、控制 系统设计、 测试和测量、 财务建模和分析以及计算生物学等众多应用 领域。附加的工具箱(单独提供的专用 matlab 函数集)扩展了 matlab 环境,以解决这些应用领域内特定类型的问题。

2、matlab 提供了很多用于记录和分享工作成果的功能。可以将您的 matlab 代码与其他语言和应用程序集成,来分发您的 matlab 算法和 应用。主要功能此高级语言可用于技术计算 此开发环境可对代码、文件和数据进行管理 交互式工具可以按迭代的方式探查、设计及求解问题 数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以 及数值积分等二维和三维图形函数可用于可视化数据 各种工具可用于构建自定义的图形用户界面 各种函数可将基于 matlab 的算法与外部应用程序和语言 (如 C、C+ Fortran、Java、COM以及 Microsoft Excel )集成matlab 在计算科学,自然科

3、学,社会科学等多方面都有很多应用, 本文以matlab为工具,主要研究它在 GUI计算器设计方面的应用。关键词:GUI界面MATMAB计算器 加减乘除 三角反三角目录1. 前言2. 计算器总体设计思路3. 详细设计及实现3.1GUI界面设计3.2 关键函数设计及代码分析3.2.1打开函数;3.2.2C键(清屏);3.2.3数字按键函数;3.2.4四则运算按键;3.2.5等号运算;3.2.6三角函数及反三角函数;3.2.7删除键;4. 设计结果和运行测试4.1 四则运算测试;4.2 三角函数及反三角函数测试;4.4 第二功能键测试;5. 结束语参考文献谢辞、尸、前言Matlab 是一种解释性执行

4、语言,具有强大的计算、仿真、 绘图等功能。由于它使用简单,扩充方便,尤其是世界上有成千 上万的不同领域的科研工作者不停的在自己的科研过程中扩充 matlab 的功能,使其成为了巨大的知识宝库。 可以毫不夸张的说, 哪怕是你知真正理解了一个工具箱,那么就是理解了一门非常重 要的科学知识。 科研工作者通常可以通过 matlab 来学习某个领域 的科学知识, 这就是 matlab 真正在全世界推广开来的原因。 目前 的 matlab 版本已经可以方便的设计漂亮的界面,它可以象 vb 等 语言一样设计漂亮的用户接口,同时因为有最丰富的函数库(工 具箱)所以计算的功能实现也很简单,进一步受到了科研工作者

5、 的欢迎。我们利用matlab提供的图形设计界面(GUI),设计了计 算器,通过参考教材和网络代码资源,设计了一个简单的科学运 算器。计算器程序主要是用 MATLAGUI来制作,界面主要由一个 静态文本框和运算按钮来实现。 实现的运算功能有四则运算: 加、 减、乘、除、和三角函数运算: sin 、cos、tan 、及用第二功能键 (Shift) 实现反三角函数: asin 、acos、atan 。另外还增加了平方 根 sqrt 。有些计算功能主要调用了 Matlab 的自定义函数。该计 算器具有计算结果准确,操作简单方便等优点。通过这个毕业课 题设计与开发,我可以深入的学习好各个专业课的理论知

6、识,将 理论与实践很好的结合起来, 做到学以致用 , 并且可以更好的学习 开发工具的知识和用法,领会Visual Basic编程的基本过程和精 要之处。同时也可以把大学以来所学的知识重新巩固一遍,除此 之外,通过毕业的课题设计,激励自学一些课外的知识来补充自 己的知识面,为以后的继续学习深造打好基础。正文: 2.计算器总体设计思路计算器程序主要是用MATLAB GU来制作,界面主要由一个静态文本 框和运算按钮来实现。实现的运算功能有四则运算:力口、减、乘、除、 和三角函数运算:sin、cos、tan、及用第二功能键(Shift)实现反三 角函数:asin、acos、atan。另外还增加了平方根

7、 sqrt。有些计算 功能主要调用了 Matlab的自定义函数。该计算器具有计算结果准确, 操作简单方便等优点。计算器主要分为简单计算器和简单科学计算 器,参照JSP课程设计具体功能如下图所示图2-1系统功能图图2-2简单计算器功能图3详细设计及实现3.1GUI界面设计Matlab为我们提供了一个可视化的图形界面开发环境GUIDE通过点击相应按钮,我们看到了 GUI的子菜单,在子菜单中,我们 可以打开一个以创建的 GUI,或自己新建一个 GUI界面。在自己 新建了 GUI的界面后,我们就看到了 GUI开发环境,及用户界面。 如果用户想打开一个新的图形界面开发环境,则可以选择Matlab命令窗口

8、中的File/New菜单下的GUI子菜单,也可以点击按钮 回,则可以得出如图3-1所示的图形开始界面。选择默认选项, 单击“0K按钮,便进入GUIDE程序的主窗口(该窗口又称为Guide 的控制面板),如图3-2所示。设计用户交互界面的过程就是把需 要用到的控件从控制面板拖到(或者复制到)界面布局编辑区, 并使用对齐工具把这些控件排列整齐合理的过程。最后设计界面 如图3-3图3-1图3-2图3-3handles,eventdata,3.2 关键函数设计及代码分析3.2.1 打开函数:% - Executes just before calc is made visible. function

9、calc_OpeningFcn(hObject, eventdata, varargin)handles.output = hObject; guidata(hObject, handles);global jj shiftset(handles.text1,String,0.);jj=0;shift=0;function varargout = calc_OutputFcn(hObject, handles)varargout1 = handles.output;3.2.2 C 键(清屏)% - Executes on button press in clear.function clear

10、_Callback(hObject, eventdata, handles) global jj shiftset(handles.text1,String,0.) ;jj=0;shift=0;end3.2.3 数字按键函数% - Executes on button press in pushbutton7.function pushbutton7_Callback(hObject, eventdata, handles) global jjtextString = get(handles.text1,String); if(strcmp(textString,0.)=1)&(jj=0) s

11、et(handles.text1,String,7) ;elsetextString =strcat(textString,7);set(handles.text1,String,textString)endjj=0;注:其余数字按钮代码同上类似,相应的数字替换 1 就可以了3.2.4 四则运算按键% - Executes on button press in add.function pushbutton4_Callback(hObject, eventdata, handles) global jjtextString = get(handles.text1,String); if(str

12、cmp(textString,0.)=1)&(jj=0) set(handles.text1,String,4) ;else textString =strcat(textString,4); set(handles.text1,String,textString) endjj=0;注:其余减法、乘法、除法和上述代码类似,将+替换就可以了。3.2.5 等号运算% - Executes on button press in equ. function equ_Callback(hObject, eventdata, handles) textString = get(handles.text1,

13、String);textStri ng = get(ha ndles.text1,Stri ng);%取屏幕内容 ans =eval(textString);%运算屏幕内容表达式set(handles.text1,String,ans) %显示运算结果3.2.6 三角函数及反三角函数% - Executes on button press in sin. function sin_Callback(hObject, eventdata, handles) global shift if (shift=0) result=sin(str2num(get(handles.text1,string)

14、*pi/180); set(handles.text1,String,num2str(result);else result=asin(str2num(get(handles.text1,string)*180/pi;set(handles.text1,String,num2str(result);end注:其余科学计算和上述类似 。3.2.7 删除键% - Executes on button press in back.function back_Callback(hObject, eventdata, handles) global jjtextString = get(handles.

15、text1,String);if(strcmp(textString,0.)=1)&(jj=0)set(handles.text1,String,0.) ;elsess=char(textString);l=length(textString);textString=ss(1:l-1);set(handles.text1,String,textString)endjj=0;4.设计结果和运行测试4.1四则运算测试:加法运算,第一个操作数输入为“ 124546546,第二操作数输 入为“ 54654651”,输入 “ 124546546+54654651=,如图 4-1 所示。图 4-1 计算

16、124546546+54654651 的结果除法运算,第一个操作数输入“ 2012”,第二个操作数输入为“4”,输入“ 45456/12二”后的结果如图4-2所示Oca|c图4-2 计算45456/12的结果4.2三角函数及反三角函数测试现以0.5余弦操作为例,先输入“ 0.5 ”,然后点击“ shift 按钮,再点击“ sin ”按钮,计算结果为下图4-3所示图4-3计算 “ 0.5 ”的反正弦值n一.一4.3开方测试先输入操作数“ 2”,然后点击“ sqrt ”按钮后的结果如图4-4 所示图4-4计算“ 2 ”的开方界面5. 结束语Matlab利用计算机的优势,设计GU图像比传统实验方法更加迅速准 确,在操作性上也有很大提升。除了在GUI图像设计的功能外,matlab 还具有很强大的信号处理功能,数学计算功能等。参考文献:罗建军编写的 matlab 教程西安交大出版 孙兆林编写的 matlab 图像处理清华大学出版 徐金明主编的 matlab 实用教程清华大学出版 完结

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