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

上传人:人*** 文档编号:559857573 上传时间:2023-01-31 格式:DOC 页数:18 大小:593KB
返回 下载 相关 举报
基于MATLAB在GUI计算器设计应用_第1页
第1页 / 共18页
基于MATLAB在GUI计算器设计应用_第2页
第2页 / 共18页
基于MATLAB在GUI计算器设计应用_第3页
第3页 / 共18页
基于MATLAB在GUI计算器设计应用_第4页
第4页 / 共18页
基于MATLAB在GUI计算器设计应用_第5页
第5页 / 共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 计算 124546546+54654651 的结果除法运算,第一个操作数输入“ 201

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号