基于MATLAB的多功能计算器设计与实现

基于MATLAB的多功能计算器设计与实现

摘要

随看信息技术的发展,数据变得越来越重要,针对数据的处理也越来越复杂,计算器在我们日常生活学习中扮演越来越重要角色。本文基于MATLAB设计的GUI 多功能计算器,包括三部分:简易计算器、科学计算器和程序员计算器。其中,简易计算器包括了常用的加减乘除;科学计算器在加减乘除上,添加了正余弦、阶乘和对数等常用的数学计算;程序员计算器包括了二进制、八进制、十六进制的相互转换和二进制的与、或和异或等逻辑运算。此多功能计算器改进了以前功能单一的计算器,具有较强的实用性。

关键字:MATLAB; GUI ;多功能计算器

Abstract

With the development of information technology, the data become more andmore complicated, according to data operations have become increasingly frequent, thecalculator is playing a more and more important role in leamning in our daily life. In this paper,MATLAB design of GUI based multi functional calculator, consists of three parts: a simplecalculator, scientific calculator and programmers calculator. The simple calculator, includingcommon add, subtract, multiply and divide; scientific calculator in add, subtract, multiply anddivide, add the commonly used mathematical cosine, factorial and logarithm calculation;programmers calculator includes the conversion of binary, octal, hexadecimal and binarysixteen and, or and XOR logic operation. The multi-function calculator before improvedsingle function has a strong practical.

Keyword: MATLAB; GUI; Multi Function Calculator

目录

第1章绪论 (1)

1.1.基于MATLAB的多功能计算器设计的目的和意义 (1)

1.2国内外现状分析 (1)

1.2.1 国内外计算器的发展 (1)

1.2.2计算器的类型 (2)

第2章数字信号处理原理概念 (4)

2.1数字信号处理 (4)

2.2数字信号处理的概述 (4)

2.3用MATLAB实现信号处理 (4)

2.3.1信号的取样 (4)

2.3.2信号的重构 (5)

第3章计算器总体设计 (6)

3.1计算器整体设计思路 (6)

3.2计算器的功能实现 (7)

3.2.1数字0-9设计与实现 (7)

3.2.2四则运算设计 (7)

3.2.3简单科学计算设计 (7)

3.2.4功能按钮设计 (7)

第4章 MATLAB GUI界面设计 (8)

4.1MATLAB GUI介绍 (8)

4.2GUI界面创建的基本知识 (8)

4.3计算器界面设计 (9)

第5章 MATLAB程序设计 (10)

5.1 M文件 (10)

5.1.1局部变量与全局变量 (10)

5.1.2M文件的编辑与运行 (11)

5.1.3脚本文件 (13)

5.1.4函数文件 (13)

5.1.5函数调用 (14)

5.2MATLAB的程序控制结构 (16)

5.3 数据的输入与输出 (17)

5.3.1 键盘输入语句(input) (17)

5.3.2屏幕输出语句(disp) (17)

5.3.3 M数据文件的存储/加载(save/load) (17)

5.3.4二进制数据文件的存储/读取 (18)

5.4.面向对象程序设计的基本方法 (19)

5.4.1.创建类目录 (19)

5.4.2.建立类的数据结构 (19)

5.4.3创建类的基本方法 (19)

5.4.4重载运算 (19)

5.4.5面向对象的函数 (19)

5.5MATLAB程序优化 (19)

结语 (20)

附录 (21)

参考文献 (28)

致谢...............................................................................................................

第1章绪论

1.1.基于MATLAB的多功能计算器设计的目的和意义

当今时代是一个信息化的时代,信息化的时代到处充满了数据,生活在这个信息化时代的人们,无论人们在做什么行业,都需要时时刻刻跟数据打交道。总的来说,人们所处的环境的不同,所以日常接触到的或者需要人们处理的数据所表达的信息大不一样,用来处理数据的工具和方式也不太相同。对计算机知识和数学知识学习掌握得比较好的人,可以采取用计算机来结合编程来处理数据,这一种方式可以尽量大限度地挖掘出数据中所存在的各种有用信息,但是对计算机知识和数学知识了解的不多或者不了解的人,处理起来数据相对起来也比较困难,由于不懂得如何使用计算机或者懂得使用计算机但是不懂得编程,很大一部分人用来处理数据的工具主要是一些功能简单的计算器。

本课题研究的意义在于要设计出一款非常简明的、操作简单的计算工具来解决一些人们在学习、生活以及工作中最为常见的数据计算与统计分析问题。该计算器的使用者不需要掌握高深的数学运算知识以及计算机编程方面的高级知识,只需要手指轻轻一点,便能轻松处理以下问题:简单的四则运算的运算、简单的科学运算、个人所得税(税前以及税后月收入)的计算、计算最优的还贷方式、最为合理的薪资管理等数据计算。为人们的工作生活以及企业的薪资管理提供便利,节约人们的计算时间,促进人们的工作生活和企业薪酬管理,节省人们或人们的计算时间公司在对所遇到的问题进行一系列分析并做出正确决策方面提供更多帮助。

1.2国内外现状分析

1.2.1 国内外计算器的发展

不论是国内还是国外,人们处理数据所用到的计算工具通常是计算器或者计算机。但是如果人们想对在工作生产或者日常生活中所收集的数据进行统计分析的时候,一般来说都需要用到比较专门的统计分析软件来进行分析计算;但如果人们在生活生产中所需要其处理的信息数据更侧重于计算方面的话,则通常需要使用计算器来处理数据。

较为早期的计算器由于刚刚开始出现所以均为纯手动的,例如算盘、算筹等。算盘是我国古代劳动人民发明出来的一种简便的计算工具,由于算盘计算是用滑动珠子来实现的,所以用算盘计算也称为珠算。西方国家在印度阿拉伯数字流行前使用算盘计算使用了好几个世纪,并且中国近代在一些商务活动中也还在使用着算盘。后来出现机械计算器。1600年开始,西方国家的用来计算的仪器有了较大的发展,英国伟大的数学家Napier所发明出来的"纳皮尔算筹",来自英国的奥却德发明了计圆柱型对数算尺,这种计算尺不仅能做简单的四则运算加减乘除、乘方运算、开方运算,甚至可以做三角函数的运算,指数运算和对数函数运算,这一系列的计算工具的出现不仅仅是带动了计算工具的发展,同时也为近现代计算器的发展奠定了非常重要的基础,使计算器成为了现代社会生产生活中应用十分广泛的计算工具。

1642年,法国一位年仅19岁的伟大科学家帕斯卡(Pascaline)发明了第一部机械式计算器,计算器中存在着一些互锁齿轮,一个齿轮转过十圈后会将另一个齿轮转动一圈,人们就可以像拨电话号码盘那样,在这边把数字拨进去之后,计算的结果就会出现在另一个窗口之中,但是只能进行加法和减法的计算。17世纪末,德国数学家莱布尼兹(Leibniz)将该机械式计算器改进了,使其可以进行乘法和除法运算的计算器。在此之后,机械式计算器成为当时的主流,一直到1950年之后才出现了电子计算器来取代机械式计算器。在19世纪,巴贝奇推动了计算工具的概念,尝试去创建第一个可编程式计算器,但是他建造出来的机器太重了,因而人们无法操作。

20世纪,从1970年开始,微处理器技术被吸收到计算器制造的过程之中,最初的微处理器是Intel于1971年为一台名为Busicom(ビジコン)的日本计算器公司生产的,1972年惠普推出第一款掌上科学计算器HP-35。

1.2.2计算器的类型

(1)科学计算器---一种主要用于科学计算的计算器。可以进行加法运算、减法运算、乘法运算、除法运算、开方运算、乘方运算等数学运算,这是当时市场上最为流行的计算器。它具有生产成本低,使用最简单,以及满足大多数人需求的功能。

(2)多功能计算器---一种具有多种功能的计算器。主要功能有:记录功能、语音提示、公式计算、财务计算、外币兑换、解方程式、计量换算等。与

科学计算器相比,其具有更加多的功能、更加广泛的用途,但相对应的生产成本也更高,更多的是为专业人士处理特定数值计算的一种计算器。

(3)专用型计算器---一种用于计算专用数据的计算器。类似于用于计算个人所得税的个人所得税计算器以及银行贷款所用的银行贷款计算器。这类计算器的特点就是功能十分单一,能使用的范围很小,一般上只是在网络上供人们使用而不在市场上销售。

第2章数字信号处理原理概念

2.1数字信号处理

信号处理主要分为两类:信号分析与信号过滤,在科学技术迅速发展的今天,数字信号几乎存在于工程技术所涉及的所有领域之中,其对所收集到的信息进行有效的处理,从而能够获取人们感兴趣的、有用的信息,这能够大力推动数字信号学科的快速发展与完善。从广义上讲,数字信号处理是一门技术学科,它用数字对信号进行分析、变换、滤波、检测、调制、解调以及快速算法。但是很多人以为,数字信号处理主要是研究有关数字滤波技术、离散变换快速算法和谱分析方法,随着数字电路与系统技术以及计算机技术的发展,数字信号处理技术也一样得到了快速发展的机会,能用到数字信号处理的领域十分多。

2.2数字信号处理的概述

数字信号处理或信号的数字处理是20世纪60年代发展起来的一门新学科,进入70年代以来,随着电子计算机、大规模集成电路(LSI)和超大规模集成电路(VLSI),以及微处理器技术的迅速发展、数字信号处理无论在实际应用中还是在纯理论领域都在迅速地发展,都是目前世界上发展得最快的学科之一,而且正在渐渐地完善和成熟。

目前没有严格的数字信号处理的定义,人们把利用包括软件在内的数字技术来处理模拟信号使之转换成数字信号的方式叫做数字信号处理。或者简单的说,数字信号处理就是利用处理数字的一些方法对信号进行变换和处理。

从数字信号学科的根本来看,数字信号处理最重要的两个学科分支就是数字滤波器和快速傅里叶变换,同时这两个学科分支也是数字信号处理的核心内容。实际上,调制、滤波、变换、增强、压缩、检测、估计和识别信号都是数字信号处理的领域。利用处理数字的方法来建立创造拥有各种功能的信号处理处理系统,就有可能解决过去时间内由于技术欠缺利用模拟技术而实现不了的各种功能,同时,也使得这些处理系统更加经济实惠和小型化。

2.3用MATLAB实现信号处理

2.3.1信号的取样

采样定理表明,在某些条件下,连续时间信号可以由相等时间间隔的信号的瞬时值完全表示,这些样本值完完全全地拥有着该连续信号的所有信息,无论有用的还是无用的,并且可以使用这些样本值中所包含的信息来恢复原始信号,可以说采样定理在连续时间信号和离散时间信号之间进行桥接,是两种信号能够在同一层面上被表达出来,这意味着采样定理为连续时间信号与离散时间信号的相互转换提供了理论依据和现实基础。

2.3.2信号的重构

从采样定理和上面的例子可以清楚地看出,如果以高于2fc的频率对有限带宽的信号进行采样分析,则可以从其采样的序列中重建原始的模拟信号。首先将样本集转换为加权脉冲串,然后通过低通滤波器对脉冲串进行滤波。

本次设计创建计算器的图形用户界面时利用的是GUIDE。在设计计算器时,主要考虑计算器的接口设计以及大体的功能设计,也考虑了本设计中计算器的简单易用以及功能的通用性。通过调整控件和文本的布局和颜色,使界面简洁大方、布局合理,界面友好。

计算器的设计主要使用get函数和set函数来传递和设置各个空间的属性值,连接两个字符串则是利用strcat函数来实现的。利用strcat函数实现把两个字符串连接起来。利用length函数来计算字符串的长度实现后退的功能。利用eval函数将文本框中的字符串转换成数值表达式,利用MATLAB计算出结果返回显示。利用坐标轴axes和ezplot函数进行图形的绘制,利用factorial 函数进行求阶乘运算。利用str2num及num2str实现数值与字符之间的转换。

图3.2 计算器设计的流程

3.2计算器的功能实现

3.2.1数字0-9设计与实现

计算器数字0-9以按钮为输入传递数字,面板和静态文本进行控件的排序和数字显示说明,进行整体界面的设计。

3.2.2四则运算设计

计算器的四则运算是以按钮为输入传递运算符号,面板和静态文本进行控件的排序和运算符号显示说明,进行整体界面的设计。

3.2.3简单科学计算设计

计算器的简单科学计算是以按钮为输入传递运算符号,面板和静态文本进行控件的排序和运算符号显示说明,进行整体界面的设计。

3.2.4功能按钮设计

计算器的功能按钮是以按钮为输入传递运算符号,面板和静态文本进行控件的排序和运算符号显示说明,进行整体界面的设计。

第4章 MATLAB GUI界面设计

4.1MATLAB GUI介绍

MATLAB是由美国MathWorks公司生产地商业数学软件,用于高级技术计算语言和交互式环境之中,用于算法开发、数据可视化、数据分析以及数值计算之中的一款非常实用的软件。给人们处理数据带来了极大的便利。

MATLAB是matrix和laboratory两个词地组合,意思就是平均矩阵工厂,主要应用于科学计算之中、可视化和交互式编程的高科技计算环境之中,MATLAB 是进行数值分析、矩阵计算科学等工作,除此之外它还拥有许多强大的功能:例如科学数据可视化和非线性动态系统创建以及仿真等,这些功能都集成在一个相对易于使用的窗口环境中,为世界上很多的科学性的研究、各种工程工艺的设计以及一些对数值运算要求较高的科学领域提拱了非常全面、有效的解决方案,给科学带来了极大的便利与支持,而且基本上摆脱了传统的非交互式编程语言地编辑模式,特别是,MATLAB为不同的领域提供了30多个工具箱的支持,使其成为计算机辅助设计和许多科学领域进行数据分析、研究算法的最为基本的一种工具,也是程序员们进行程序开发的第一顺位选择的平台。

MATLAB地图形用户界面,这是译名,其英文称谓是GraphicalUser Interface,在此简称GUI,其实也可以叫做图形用户接口。是指以显示图形图像的方式显示出用来操作计算机的用户界面,计算机用户在视觉上更加容易接受MATLAB图形用户界面,这是相对于早期计算机所使用的命令行界面而言的,诸如窗口、菜单、和文本描述之类的对象形成用户界面,用户可以使用键盘来输入与任务目标相关的参数,用鼠标点击选择、激活这些对象,使计算机能够执行相关计算或绘制波形。这有助于将GU1集成到MATLAB程序中,这使开发人员可以简化程序而不必担心许多复杂的代码,但它也可以为决策者提供接口。

4.2GUI界面创建的基本知识

图形用户界面,简称GUI,是英文Graphic User Interface的缩写。它是通过使用菜单File/New/GUI或者在命令窗口使用命令“guide”创建一个对话框来创建的,在创建出来的对话框内可以进行用户图形界面的创建或者通过“浏览”打开一个本身数据库里面所保存的用户界面。人们在创建一个崭新的用户

图形界面的时候,可以对要创建的界面进行适当的有必要的设置。设置中的Blank,GUI with Unicontrols,GUI with Axes and Menu,Modal Question Dialog 分别为图形用户界面的默认设置、含有控件、含有坐标系、含有问题对话框。在选择一个已有图形界面或设置完成后。单击“OK”,将得到已有界面或者新界面。创建界面有两个方法,方法一:通过.M文件设置按钮创建GUI界面,在Commang Window命令窗口中输入“guide”按回车键,在弹出的对话框点击创建,点击“OK”,然后在弹出界面中对所需的GUI界面进行设计,设计完成后点GUI 界面的创建。方法二:通过编程用语句实现GUI界面的设计。

4.3计算器界面设计

Matlab为我们提供了可视化图形界面开发环境DUIDE。在子菜单中,我们可以打开已创建的GUI,或创建新的GUI界面。在创建GUI界面后,我们看到了GUI开发环境和用户界面。如果用户想要打开新的图形界面开发环境,可以在Matlab命令窗口的File /New菜单下选择GUI子菜单。选择默认选项,然后单击“确定”按钮进入GUIDE程序的主窗口,即GUIDE控制面板。设计用户界面的过程是将需要使用的所有控件从控制面板中拖出然后放到界面布局编辑区域,并使用对齐工具在整洁的过程中排列控件。

图4.3 计算器的仿真界面

第5章 MATLAB程序设计

5.1 M文件

M文件有两种形式:脚本文件(Seript File)和函效文件(Function File)。如果要用来执行一系列的相对比较简单的MATLAB命令的时候,可以使用脚本文件,在运行的时候用户仅仅需要输入要执行的文件的文件名,MATLAB就会自动执行所选中的文件中的命令,这一过程是按照顺序来完成的:函数文件可以接受参数,也可以返回参数,这就是它跟脚本文件所不一样的地方,在不出意外的情况下,用户必须借助其他的语句来运行函数文件,而不能像脚本文件一样只需要单独输入文件名就可以了,函数文件占据了MATLAB大部分的应用程序,是MATLAB程序应用的主流。

5.1.1局部变量与全局变量

无论在脚本文件还是在两数文件中,都会定义一些交量。函数文件所定义的变量是局部变量,这些变量独立于其他函数的局部变量和工作空间的变量,即只能在该函数的工作空间引用,而不能在其他函数工作空间和命令工作空间引用。但是如果某些变量被定义成全局变量,就可以在整个MATLAB工作的空间中进行直接的存储以及一些修改,这是这些变量实现共享的一个途径。所以,定义全局变量的目的是为了可以在函数与函数之间相互传递信息,也就是说,定义全局变量是一种手段,一种为了传递信息的手段。

用命令glohal 定义全局变量,其格式为

global A B C

将A、B. c这3个变量定义为全局变量。

如果在定义M文件中都的全局变量的时候系统给出警告的话,那说明在MATLAB当前的工作的空间中原本就存在这一模一样的变量,所以,在定义变量并使用的时候应该先提前将变量进行定义,也就是全局变量,这是为了避免将变量定义为全局变量时可能会引起的改变变量的值这种情况的发生。所以,提前定义还是很有必要的也是很有效的。

人们为了能够在编写程序或者使用程序的时候区分清楚全局变量与局部变量而不至于发生错误的声明,习惯上就把全局变量的变量名定义为大写的英文字母,局部变量就用小写字母或者混合型来表示,这是由于在MATLAB之中对变

量名的识别时区分大写和小写的,而不同于一些软件一样只要字母正确就能读取而不用区分大小写的。

5.1.2M文件的编辑与运行

MATLAB语言其实就是一种用作程序编写的语言,只是它是比较高效的,就是能够使用一些小对较为一般的文本编辑器把一连串的MATLAB语句组合在一起,这样就组成就是MATLAB程序,接下来把得到的程序存放在文件之中,文件都是有拓展名的,这里定义为.m,所以这样的文件也被人们叫做M文件。由于M 文件的组成成分全部都是一样的,都是ASCII码字符,所以M文件的运行十分简单,只要在命令窗口输入所要运行的文件的名字就能够成功运行。

在MATLAB的编辑器中建立与编辑M文件的一般步骤如下。

(1)新建文件

①第一种方法就是打开MATLAB之后再界面是找到“新建”图标,点击就能够完成,因为简单易操作,所以这也是最常用的方法之一;

②第二种方法就是利用语句来实现的,可以再MATLAB命令窗口中录入edit 语句,这样子就能得到一个新的M文件,同时,也可以在命令窗口打开一个文件名是filename的一个M文件,这种情况下系统将会弹出一个对话框,显示文件不存在,在这个对话框中单击"Yes"按钮,就可以建立一个新的名为filename 的M文件;

③第三种方法就是在MATLAB的主界面之中找到一个名为File/New的一个子菜单,在这个子菜单中可以通过下拉找到一个名为“M-file”的选项,选中该选项,就可建立新的M文件。

④MATLAB文件编辑器上有关于创建新文件的菜单,工具栏上也同样存在“新建”图标,利用这两者也能够实现目标。这是第四种方法,这种方法可以用于已经在编辑器中的但是因为工作的需求要再建立一个M文件的时候。

(2)打开文件

打开文件也有几种方法;

①第一种:首先打开MATLAB主界面,在主界面找到工具栏,然后找到相应的图标,单击就会弹出一个对话框,这时候只需要选择已经存在的M文件,单击“打开”按钮就可以了,这也就可以知道弹出的对话框的内容其实就是“打开文件”。

②第二种实现方法是依靠语句来实现的,再MATLAB的命令窗口中输入edit filename,界面中就会弹出一个对话框,在对话框中选择filename文件,单击打开就可以了。

③第三种方法就是在MATLAB的主界面之中找到一个名为File/open的一个子菜单,点击弹出的对话框中的“打开文件”的选项,选中该选项,然后选择一个已经存在的M文件,最后点击“打开”就能够打开系统中的M文件。

④MATLAB文件编辑器上有关于打开文件的菜单,工具栏上也同样存在“打开”图标,利用这两者也能够实现目标。这是第四种方法,这种方法可以用于已经在编辑器中的但是因为工作的需求要再打开另外一个M文件的时候。

(3)编辑文件

因为M文件跟其他文件没有区别,也是一般正常的文本文件,所以所有的文本编辑器都可以对M文件进行编辑和修改,但是跟MATLAB所提供的一个内部专用的编辑/调试器相比较,就显得不那么方便,显得复杂,难以操作。

要编辑一个新建的M文件,首先打开MATLAB的编辑/调试器,打开编辑窗口就能够直接编写新的M文件;如果要编辑一个已经建好的文件,因为该文件的内容会直接在编辑窗口显示出来,直接在编辑窗口进行修改即可。

在编辑的过程中可以使用类似于其他文本编辑器的“编辑”菜单、工具栏的编辑图标和快捷键等,值得注意的是,除了注释内容外,所有MATLAB的语句都要使用西文字符。

(4)保存文件

M文件在运行之前必须先保存。其方法有:

①第一种方法是在编辑器的工具栏上面找到一个“保存”图标,单击,如果界面弹出“保存文件”的对话框,那就说明这个M文件时新建的,这时候就需要选择存储该文件的路径、需要输入要保存的文件的文件名以及想要保存成哪一种类型的文件,如果你不选择,那系统将会默认保存类型为M文件,最后单击“保存”按钮就能够对文件进行保存;若文件是已经存在的文件打开时,只要单击“保存”就会直接就会保存在系统中。

②第二种方法跟第一种原理一样,在编辑器中找到File/Save子菜单,选中,就可以将文件保存。

③选择File/Save As...对于新建的M文件,等同于选择File/Save;对于打开的已有 M文件,选择子菜单时会在界面弹出“保存文件”这样一个对话框,只需要再一次选择文件存储的路径和目录,重新编辑文件名就能够保存文件。

④选择File Save All.,对于M文件而言,等同于选择File/Save.

(5)运行文件。脚本文件可直接运行,而函数文件还必须输入函数参数。

①第一种办法就是在MATLAB的命令窗口中输入已经存在的M文件的名字,点击“回车”键就可以直接运行该文件,为了确保运行文件是当前文件,一定要在运行文件之前先保存文件,否则运行的是保存前的程序,而不是你想要运行的程序。

②第二中方法是相对于要运行已经在编辑器中修改完毕之后的文件,就需要打开编辑器的工具栏,如果要运行的文件未保存,就需要选择编辑器工具栏中的Debug/Save and Run 选项,针对已经保存完成后的文件,就需要选择编辑器工具栏中的Run选项。

③按F5键则保存程序并直接运行;如果按键之后界面出现“保存文件”的对话框,说明该文件还未保存,这时候就该先保存然后再运行文件。

5.1.3脚本文件

M文件中有一种文件在输出参数的时候不需要在界面中输入顿号来实现,用一些比较特殊的语句就可以对MATLAB工作区间命令窗口的数据进行掌控和调用。在该文件运行的过程之中,期间所产生的一切的变量都是命令工作区间变量,这些变量在生成之后,就会一直保存在内存空间中,除非用户执行clear命令将它清除。

脚本文件可以看作是一连串的命令组合到一起,就是一个集合,所以在运行脚本文件就像是在编辑窗口编辑一些语句是一样的,按照顺序将所需要的语句在脚本文件中编写出来就行了,也就是说,运行脚本文件就是一句一句地运行命令窗口之中的各项语句。

5.1.4函数文件

如果M文件的第一个可执行语句以function开始,该文件就是函数文件,函数文件在MATLAB的工作中起着很重要的不可或缺的作用,函数文件为MATLAB 工作几乎提供了所有所需要的函数命令,因为这些函数命令都需要函数文件来给他们定义,每个函数都需要一个相对应的函数文件来给它赋予一定的意义。

从使用的角度看,函数是一个“黑箱”,把一些数据送进去,经加工处理,然后把处理过后得出的结果送到人们面前,这些结果是人们所希望得到的。从函数文件的形式来看,于脚本文件不同的是,函数文件所包含的变量其实都是命令工作空间的变量,在函数文件运行过后,这些变量会得到保留,保留的位置就是MATLAB的命令工作空间之中。函数文件之中被定义的那些变量事实上只能在函数文件之中发挥它们应有的用处,这些专属于函数文件的变量是会在运行文件过后直接被清除出去,不被保留,并且这些变量都属于局部变量而不是全局变量。

通常函数文件由以下几个基本部分组成。

(1)函数定义行:函数定义行的主要作用就是告诉人们这个文件就是一个函数文件,它由关键字function作为引语来凸显出来的,它还可以对函数文件的函数名称、输入以及输出的各项参数赋予一定的意义。函数文件第一句可以成功运行的语句那就是函数定义行,该函数的名字可以跟函数文件的文件名一样,可以是MATLAB之中拥有的所有合法的字符或字符串。

(2) H1行:H1行在函数文件文本的第一行,这一个文本也称作能帮助文本,在整个函数文件之中,它作为一个注释行仅仅处于函数定义行之下,,是供lokfor查询时使用的。一般来说为了充分利用MATLAB的搜索功能,在编制M 文件时,应在HI行中尽可能多地包含该函数的特征信息。由于在搜索路径上包含avrage的函数很多,因此用lokfor average语句可能会查询到多个有关的命令。

(3)帮助文本:在函数定义行后面,连续的注释行不仅可以起到解释与提示作用,更重要的是为用户自己的函数文件建立在线查询信息,以供help命令在线查询时使用。

(4)函数体:函数体包含了全部的用于完成计算及给输出参数赋值等工作的语句,这些语句的作用可以是用来调用函数、计算数值、对函数进行赋值、对函数进行注释、控制函数流程、进行交互式的输入以及输出、空行等。

(5)注释:以%起始到行尾结束的部分为注释部分,MATLAB 的注释可以放置在程序的任何位置,可以单独占行,也可以在一个语句之后。

5.1.5函数调用

调用函数文件的一般格式为

[输出参数表]=函数名(输入参数表)

调用函数时应该注意:

(1)当调用一个函数时,所输入的参数和得到的输出参数都需要按照一定的顺序,这个顺序取决于定义函数时候的顺序,并且输入参数和输出参数的个数是不要求跟函数文件中指定的参数个数一样,是被允许少于指定个数的,但是这个不同仅仅限于少而不能够是多于指定的参数数量,假如说,调用函数时所输入的参数和输出的参数个数跟被函数文件所允许的参数数量不一样的时候,那么调用函数时就会自动返回错误信息的界面。

(2)在编写函数文件调用时常通过nargin、nargout 函数来设置默认输入参数,这两个语句也对用户希望得到的输出参数起决定性的作用。当用户调用函数时,需要指定所需要输入的参数数量和输出参数的数量,那么要知道这数量的具体值,就需要通过函数来检测发现,检测输入参数的数量需要利用nargin 函数来实现,检测输出参数的个数则需要通过nargout函数实现。函数文件中输入、输出参数的个数是有规定的,通过function语句来规定,在调用函数时,可能会出现用户输入参数的个数和输出参数的个数比规定的个数少的情况,针对这种情况,就要利用nargin、nargout函数来调节以上情况,才能正确的决定使用哪一种系统默认的输入参数,才能得出用户希望得到的输出参数。

(3)当函数有一个以上输出参数时,输出参数包含在方括号内。

(4)当函数有一个或多个输出函数,但调用时未指定输出参数,则不给输出变量赋任何值。

(5)事实上,函数工作的空间是独立于MATLAB工作空间的,而不是两者都在同一空间中工作,很多人都会以为二者工作空间是一致的,这点需要被注意。除非使用的变量是全局变量,函数内的变量才会与MATLAB其他的工作空间有联系,并且这是唯一的联系,这联系就是函数的输入输出参数。两个调用函数之间不能利用变量来存储数据信息,以为在一个函数之中所创建出来的变量只会保留在该函数工作的空间,并且只会在执行函数的时候存在,这种存在还仅仅是临时的,等到函数运行完毕,这些变量便会被清除,就会消失。当函数中随机的一个输入参数的参数值被修改的时候,不会影响到其它工作在MATLAB工作空间的变量,这个改变只会在函数的内部得到体现。

(6)在一个函数内对预定义的变量进行更改或者重新赋予定义时,只会在函数内部体现,而不会影响到MATLAB的其他的工作空间的变量,反过来说,MATLAB 其他工作空间的已经定义的变量受到更改或者说是重新定义也不会影响函数工作空间中的变量,二者是独立的,互不干涉的。

(7)如果函数想跟MATLAB其他的工作空间共享变量的话,那么就需要对变量进行说明,表明这是一个全局变量,全局变量无论是在哪一个工作空间都要作一定的有用的说明,这样才能够确保在函数工作空间或者是命令工作空间中所访问的变量是全局变量。

(8)全局变量在为程序编写带来方便的同时,也会对函数对变量的保护造成破坏,所以在实际的程序编写中,无论什么时候都应尽量避免使用全局变量。如果定要用全局变量,建议将全局变量的变量名使用大写字母表示,并且尽可能地用所创建M文件时第一次使用的名称开头,这是为了让全局变量之间的没有必要的交集需要尽可能的少。

(9)MATLAB搜索功能文件时所用的方式其实就是MATLAB搜索脚本文件所用的搜索方式,二者是一样的。例如,输入cow语句,MATLAB首先认为cow是一个变量;如果它不是,那么MATLAB认为它是一个内置函数如果还不是,MATLAB 检查当前cow.m的目录或文件夹;如果依然显示不是一个变量,那么MATLAB将在MATLAB搜索路径上检查cow.m的所有目录或文件夹。

(10)从函数文件内可以调用脚本文件。在这一种情况之下,脚本文件会对函数的工作空间进行扫描查看,由于是从函数文件中调用的脚本文件,所以它不会扫描到MATLAB的命令工作空间,这不是一个层面上的从函数文件之中去调用一些脚本文件就没有必要将其调整到内存之中进行编译,每次调用该函数时,都会打开并解释它们。所以,要从函数文件中调用脚本文件会对函数运行的速度有一定的影响。

(11) 当函数文件执行到最后的时候,或者是执行到函数之中的返回的命令的时候,函数的运行就会结束,返回命令返回提供了一种简单的方法来结束函数,而无需到达文件的末尾。

5.2MATLAB的程序控制结构

基于matlab的计算器制作

基于MATLAB的计算器制作从入门到高级 项目一、建立GUI框架 1,双击MATLAB图标(本实例使用的是MATLAB R2014),打开软件 2,打开GUI操作界面。有两种方式: a、在命令行窗口输入guide,然后点击回车。 b、先点击新建图标,在选择‘图形用户界面’。 得到如下窗口: 左上方有两个按钮:‘新建GUI’,‘打开现有GUI’。 对于‘新建GUI’:下方的选择框内有你可以选择建立的GUI类型,对于初学者一般选择第一个。下方是用来设置 保存文件位置的。

对于‘打开现有GUI’:初学者可能会在网上下载一些GUI源程序,使用‘打开现有GUI’,再浏览到文件所在位置便可。 3、构建GUI框架: 在选择新建GUI并且确定后,会弹出如下窗口: 在窗口的左边会有很多选项,可以一个个拖动编辑框内; 是不是发现这些选项发挥的作用刚好就是我们平常打开一个网页或者一个软件进行操作时的选择按钮。比较常见的有:按钮、单选按钮、拖动条、弹出式菜单等。看到这里细心地朋友就会发现,MATLAB GUI似乎可以开发出大型

软件哦,只要你有足够的想象力,当你从一个小白进阶到 一个高手之后,你可以做到的。 本次计算器制作只需要用到静态文本(或者是动态文本)用来做显示器,按钮(用来操作)。也可以添加一个面板 用来修饰。 在拖出的选项上双击,会得出该选项的属性栏,比如说 双击一个按钮选项,你会得到: 这个属性框比较复杂,没有必要一个个说清楚(有兴趣的 可以自己研究,其实理解起来也挺简单的) 本次计算器制作,我们只需要知道以下几个:

◆a、BackgroundColor取值为颜色的预定义字符或RGB 数值;缺省(就是默认的意思)值为浅灰色; ◆b、ForegroundColor取值为颜色的预定义字符或RGB 数值,该属性定义控件对象标题字符的颜色;缺省值为黑色; ◆c、String取值为字符串矩阵或块数组,定义控件对 象标题或选项内容; ◆d、FontName取值为控件标题等字体的字库名; ◆e、FontSize取值为数值,控制字体大小; ◆f、Tag取值为字符串,定义了控件的标识值,在任何 程序中都可以通过这个标识值控制该控件对象; ◆g、Style取值可以是pushbutton(缺省值), radiobutton, checkbox, edit, text, slider, frame, popupmenu 或listbox; 项目二、简单加法器的制作 1、框架准备

matlab课程设计(简单计算器的设计)

m a t l a b课程设计(简 单计算器的设计) -CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

matlab课程设计报告 题目简易计算器的设计 学院电子信息工程学院 专业电子信息 学生姓名和学号 指导教师

一、选题目的及意义 GUI的广泛应用是当今计算机发展的重大成就之一,它极大地方便了非专业用户的使用。人们从此不再需要死记硬背大量的命令,取而代之的是可以通过窗口、菜单、按键等方式来方便地进行操作,而在matlab有很简单的gui设计工具,我们可以通过这个工具轻松地构建我们想要的程序,从而实现与用户的信息交互。本次课程设计是使用了matlab中的guide生成了简单的计算器程序。 二、源代码 function varargout = Calculator(varargin)

%Simple Calculator %@Anhui University % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @Calculator_OpeningFcn, ... 'gui_OutputFcn', @Calculator_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before Calculator is made visible. function Calculator_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to Calculator (see VARARGIN) % Choose default command line output for Calculator = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes Calculator wait for user response (see UIRESUME) % uiwait; % --- Outputs from this function are returned to the command line. function varargout = Calculator_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

基于MATLAB的多功能计算器设计与实现

基于MATLAB的多功能计算器设计与实现 摘要 随看信息技术的发展,数据变得越来越重要,针对数据的处理也越来越复杂,计算器在我们日常生活学习中扮演越来越重要角色。本文基于MATLAB设计的GUI 多功能计算器,包括三部分:简易计算器、科学计算器和程序员计算器。其中,简易计算器包括了常用的加减乘除;科学计算器在加减乘除上,添加了正余弦、阶乘和对数等常用的数学计算;程序员计算器包括了二进制、八进制、十六进制的相互转换和二进制的与、或和异或等逻辑运算。此多功能计算器改进了以前功能单一的计算器,具有较强的实用性。 关键字:MATLAB; GUI ;多功能计算器

Abstract With the development of information technology, the data become more andmore complicated, according to data operations have become increasingly frequent, thecalculator is playing a more and more important role in leamning in our daily life. In this paper,MATLAB design of GUI based multi functional calculator, consists of three parts: a simplecalculator, scientific calculator and programmers calculator. The simple calculator, includingcommon add, subtract, multiply and divide; scientific calculator in add, subtract, multiply anddivide, add the commonly used mathematical cosine, factorial and logarithm calculation;programmers calculator includes the conversion of binary, octal, hexadecimal and binarysixteen and, or and XOR logic operation. The multi-function calculator before improvedsingle function has a strong practical. Keyword: MATLAB; GUI; Multi Function Calculator

matlab课程设计(简单计算器的设计)知识分享

m a t l a b课程设计(简单计算器的设计)

matlab课程设计报告 题目简易计算器的设计 学院电子信息工程学院 专业电子信息 学生姓名和学号 指导教师

一、选题目的及意义 GUI的广泛应用是当今计算机发展的重大成就之一,它极大地方便了非专业用户的使用。人们从此不再需要死记硬背大量的命令,取而代之的是可以通过窗口、菜单、按键等方式来方便地进行操作,而在matlab有很简单的gui设计工具,我们可以通过这个工具轻松地构建我们想要的程序,从而实现与用户的信息交互。本次课程设计是使用了matlab中的guide生成了简单的计算器程序。 二、源代码 function varargout = Calculator(varargin)

%Simple Calculator %@Anhui University % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @Calculator_OpeningFcn, ... 'gui_OutputFcn', @Calculator_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before Calculator is made visible. function Calculator_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to Calculator (see VARARGIN) % Choose default command line output for Calculator handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes Calculator wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = Calculator_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure

matlab gui计算器设计总结

matlab gui计算器设计总结 设计MATLAB GUI计算器是一项有趣且具有挑战性的任务。在这个过程中,你需要考虑到用户的需求和体验,以及如何实现这些需求的技术细节。以下是对此任务的设计总结: 1. 需求分析:在设计计算器之前,首先要明确用户的需求。一个基本的计算器应该能够进行基本的算术运算(加、减、乘、除)以及求平方和平方根等操作。此外,设计一个友好的用户界面也非常重要,以方便用户理解和使用计算器。 2. 创建GUI界面:MATLAB的图形用户界面(GUI)工具箱可以帮助你创建计算器的用户界面。你可以使用各种小部件(如按钮、文本框和标签)来创建界面,并通过回调函数来定义小部件的行为。 3. 实现计算器功能:在MATLAB中,你可以使用脚本或函数来实现计算器 的功能。当用户点击按钮时,回调函数将被触发,执行相应的计算,并将结果显示在界面上。 4. 优化用户体验:良好的用户体验是GUI设计的重要方面。你可以通过调 整颜色、字体和布局来改善界面外观,并通过添加错误处理和提示信息来提高程序的易用性。

5. 测试和调试:完成设计后,进行彻底的测试是非常重要的。检查所有功能是否正常工作,是否有任何错误或异常行为。此外,通过用户反馈来进一步优化计算器也是一个好主意。 6. 代码组织和可维护性:为了使代码易于理解和维护,应该保持良好的代码组织和注释。此外,考虑将计算逻辑和GUI代码分离,以方便未来的修改 和扩展。 7. 扩展功能:除了基本功能外,还可以考虑添加一些高级功能,如科学计算、三角函数计算等。这将为用户提供更多选择,并增加计算器的实用价值。8. 跨平台兼容性:虽然MATLAB主要用于学术和工程领域,但确保GUI计算器在各种操作系统上都能正常工作仍然是一个好习惯。这可能需要一些额外的测试和调整。 9. 文档和帮助系统:提供详细的文档和帮助信息可以帮助用户更好地理解和使用计算器。你可以创建一个帮助文件或使用MATLAB的帮助系统来提供 这些信息。 10. 版本控制和更新:随着时间的推移,计算器可能需要更新或改进。使用 版本控制系统(如Git)可以帮助你跟踪代码的更改历史,并方便地发布更新。 通过遵循这些步骤和最佳实践,你可以设计出一个功能强大、易于使用且具有良好用户体验的MATLAB GUI计算器。

MATLAB简易计算器论文

MATLAB简易计算器论文 概述: 计算器是一种用于执行基本数学运算的设备或工具。随着计算机技术的不断发展,计算器在工程、科学和教育领域中被广泛使用。为了满足各种计算需求,研究人员开发了各种类型的计算器。其中,MATLAB简易计算器是一种基于MATLAB编程语言编写的计算器,以提供基本数学运算和数据分析功能。 背景: MATLAB是一种用于数值计算、数据可视化和编程的高级技术计算语言和环境。它提供了丰富的功能和工具包,可用于各种科学、工程和统计应用。自诞生以来,MATLAB已成为学术、工业和商业界广泛使用的标准计算工具。 简易计算器设计: MATLAB简易计算器是基于MATLAB的开发,使用MATLAB编程语言和MATLAB的计算和可视化功能。它提供了实现基本数学运算的功能,包括加法、减法、乘法和除法。此外,它还可以执行一些高级计算和数据分析功能,如求平方根、求幂、求和等。 用户可以通过简单的输入,使用MATLAB简易计算器进行数学运算。用户可以输入表达式,例如“2+3”、“4-2”、“5*6”和“8/2”,然后在计算器界面上点击“计算”按钮以获得结果。计算器会返回计算结果,并在界面上显示出来。

因为MATLAB具有图形化用户界面的特性,所以MATLAB简易计算器还可以显示计算结果的图表,例如直方图、散点图和线图。这些图表可以帮助用户更直观地理解数据的分布和关系。 应用: MATLAB简易计算器可以广泛应用于各种领域,包括科学、工程和教育。在科学领域,它可以用于数据分析、建模和仿真。在工程领域,它可以用于电路设计、信号处理和控制系统。在教育领域,它可以用于教学和学生练习。 优点和局限: 与其他计算器相比,MATLAB简易计算器具有以下优点:(1)使用MATLAB编程语言进行开发,具有强大的计算和可视化功能;(2)提供了简单易用的用户界面,使用户能够轻松进行数学运算;(3)可以用于高级计算和数据分析,满足更复杂的需求。 然而,MATLAB简易计算器也存在一些局限:(1)需要MATLAB软件的支持,因此在没有安装MATLAB的计算机上无法运行;(2)对于大型数据集的处理,可能会遇到性能问题;(3)对于一些特殊的数学运算,可能需要自己编写MATLAB脚本。 结论: 为了提高MATLAB简易计算器的性能,可以进一步开发优化的算法和技术,并将其与其他工具和软件集成。这将有助于扩展其应用领域,并满足更广泛的需求。

MATLAB GUI设计与实现指南

MATLAB GUI设计与实现指南 MATLAB是一款功能强大的数学软件,广泛应用于科学研究、工程设计和数 据分析等领域。与其它编程语言相比,MATLAB的图形用户界面(GUI)设计功能让 程序的可视化展示更加生动和直观。本篇文章旨在为读者提供一份MATLAB GUI 设计与实现的指南,帮助他们充分利用MATLAB的GUI工具,打造出更加灵活、易用的交互界面。 一、GUI设计的基础知识 在进行GUI设计之前,我们首先需要了解一些基础知识。MATLAB提供了一 系列的GUI设计工具箱,其中最常用的是GUIDE工具箱。GUIDE工具箱可以帮 助我们快速地创建GUI界面,并且具有丰富的可视化组件库以及自定义布局功能。熟悉这些工具是进行GUI设计的基础。 除了GUI工具箱,MATLAB还提供了一些重要的GUI设计原则。例如,界面 的布局应该简洁明了,不要过分拥挤;按钮和菜单的位置应该符合用户的直觉,便于操作;使用控件的颜色和图标来增加界面的美观性等等。遵循这些原则可以提高用户体验,使得GUI更加易于理解和操作。 二、创建GUI界面 创建GUI界面是GUI设计的第一步。在MATLAB中使用GUIDE工具箱可以 非常方便地完成这个任务。打开MATLAB后,点击“APPS”选项卡,然后选择“GUIDE”工具箱。接着,选择“Blank GUI”选项创建一个新的GUI界面。 在创建界面之后,我们可以开始选取需要的组件来设计和布局我们的GUI界面。GUIDE工具箱提供了多种常用的组件,例如按钮、滑块、文本框等。通过简单的 拖拽和调整,我们可以将这些组件放置到界面中,并设置它们的属性和事件。 三、编写GUI代码

用MATLAB做的一个计算器

一、布局GUI。 Matlab,输入Guide 回车或在工具栏上点击图标显现Guide 窗口:“Blank GUI(Default)”显现GUI窗口 把按钮的字符串大小、颜色进行设置,对按钮的位置进行排布,尽可能使按钮集中在静态文本框下面。最终设置的静态文本框为白色,其他按钮均为分红色。 5.保留、添加功能函数 把做好的按钮及静态文本框保留后自动弹出Editor的M文本,对然后对相应的pushbutton添加功能函数。以下是相应按钮的功能函数。 (1)数字按键编写。 在function pushbutton1_Callback(hObject, eventdata, handles)下输入:textString = get,'String'); textString =strcat(textString,'0');

set,'String',textString) 这是利用句柄handles指向对象text1,并以字符串形式来存储数据文本框text1的内容,并存储数个“0”, 然后由set,'String','textString'在text1中输出。 同理,别离在function pushbutton2~10_Callback(hObject, eventdata, handles)下给1~9数字按键下编写此类程序。 (2).符号键: function pushbutton12_Callback(hObject, eventdata, handles) textString = get,'String'); textString =strcat(textString,'+'); set,'String',textString) strcat的作用是将两个字符串联接起来,确实是在已输入的存储数据 textString后添加“+”进行运算。 然后执行set,'String',textString)。符号键‘-’、‘*’、‘/’与‘+’的运算函数类似。 “平方运算”,主若是由“^2”功能实现。 (3)运算符“=”的编程: textString = get,'String'); ans =eval(textString); “eval”的作用是将符号表达式转换成数值表达式。 再由set,'String',ans)输出。 (4)按键“back”编程:即显示一个空字符: set,'String','') ; 按键“back”编程: textString = get,'String'); set,'String','') ; ss=char(textString); n=length(textString); textString=ss(1:w-1);

gui计算器设计matlab代码

GUI计算器设计MATLAB代码 1. 简介 GUI(Graphical User Interface,图形用户界面)计算器是一种利用 图形界面设计的计算器,用户可以通过鼠标点击按钮进行数字输入和 运算。MATLAB是一种功能强大的数学计算软件,拥有丰富的绘图和 可视化功能,可以用于设计和实现GUI计算器。本文将介绍如何使用MATLAB编写GUI计算器的代码。 2. 界面设计 在设计GUI计算器的界面时,需要考虑用户友好性和美观性。可以通 过MATLAB提供的GUIDE工具进行界面设计,添加数字按钮、运算 符按钮和显示屏等组件。另外,还可以设置布局和颜色,使界面更加 美观。 3. 代码实现 需要创建一个新的MATLAB GUI应用程序,然后在GUIDE工具中设 计界面。在界面设计完成后,需要编辑回调函数来实现计算器的功能。以下是一个简单的GUI计算器的MATLAB代码示例: ```matlab function calculatorGUI 创建整体界面

figure('Name','Calculator','NumberTitle','off','Position',[100,100,4 00,600]); 创建显示屏 hEdit = uicontrol('Style','edit','String','','Position',[50,500,300,50]); 创建数字按钮 numBtns = {'7','8','9','4','5','6','1','2','3','0'}; for i = 1:10 hNumBtn(i) = uicontrol('Style','pushbutton','String',numBtns{i},'Position',[50+5 0*rem(i-1,3),450-50*fix((i-1)/3),50,50],'Callback', numBtn_callback); end 创建运算符按钮 operatorBtns = {'+','-','*','/','='}; for i = 1:5 hOperatorBtn(i) = uicontrol('Style','pushbutton','String',operatorBtns{i},'Position',[2 00,450-50*(i-1),50,50],'Callback', operatorBtn_callback);

用MATLAB做一个计算器包括加减乘除平方清空等功能

广西科技大学 MATLAB课程设计说明书 课题:设计简易计算器 开发环境:MATLAB GUIDE 作者: 系别: 专业: 时间: 实验目的:1、熟悉MATLAB的主要控件使用方法。 2、熟悉MATLAB的GUI设计流程。 实验环境: 编程软件:MATLAB7.0 实验内容与结果: 使用MATLAB的GUI接口设计一个简单的计算器。 效果图: 一、布局GUI。 1.打开Matlab,输入Guide 回车或者在工具栏上点击图标出现Guide 窗口: 2.然后双击“Blank GUI(Default)”出现GUI窗口 3.添加按钮 4.根据按钮的作用及视觉效果做一定的修改 把按钮的字符串大小、颜色进行设置,对按钮的位置进行排布,尽量使按钮集中在静态文本框下面。最终设置的静态文本框为白色,其他按钮均为分红色。 5.保存、添加功能函数 把做好的按钮及静态文本框保存后自动弹出Editor的M文本,对然后对相应的pushbutton添加功能函数。以下是相应按钮的功能函数。 (1)数字按键编写。

在function pushbutton1_Callback(hObject, eventdata, handles)下输入:textString = get(handles.text1,'String'); textString =strcat(textString,'0'); set(handles.text1,'String',textString) 这是使用句柄handles指向对象text1,并以字符串形式来存储数据文本框text1的内容,并存储数个“0”, 然后由set(handles.text1,'String','textString'在text1中输出。 同理,分别在function pushbutton2~10_Callback(hObject, eventdata, handles)下给1~9数字按键下编写此类程序。 (2).符号键: function pushbutton12_Callback(hObject, eventdata, handles) textString = get(handles.text1,'String'); textString =strcat(textString,'+'); set(handles.text1,'String',textString) strcat的作用是将两个字符串连接起来,就是在已输入的存储数据textString 后添加“+”进行运算。 然后执行set(handles.text1,'String',textString)。符号键‘-’、‘*’、‘/’与‘+’的运算函数类似。 “平方运算”,主要是由“^2”功能实现。 (3)运算符“=”的编程: textString = get(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','') ;

matlab课程设计(简单计算器地设计)

matlab课程设计报告 题目简易计算器的设计 学院电子信息工程学院 专业电子信息 学生姓名和学号 指导教师

一、选题目的及意义 GUI的广泛应用是当今计算机发展的重大成就之一,它极大地方便了非专业用户的使用。人们从此不再需要死记硬背大量的命令,取而代之的是可以通过窗口、菜单、按键等方式来方便地进行操作,而在matlab有很简单的gui设计工具,我们可以通过这个工具轻松地构建我们想要的程序,从而实现与用户的信息交互。本次课程设计是使用了matlab中的guide生成了简单的计算器程序。 二、源代码

function varargout = Calculator(varargin) %Simple Calculator %@Anhui University % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @Calculator_OpeningFcn, ... 'gui_OutputFcn', @Calculator_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before Calculator is made visible. function Calculator_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to Calculator (see VARARGIN)

matlab简易计算器设计步骤与回调函数设计说明

简易算术计算器的设计 一、算术计算器的功能: 能进行简单的加、减、乘、除法运算,输入文本框显示为常量多项式,输出文本框显示为精确到小数点后十位的数值。计算器包含十个数字键0~9、小数点键“.”、小括号键“(”“)”、运算符号、清屏键、退格键、退出键等。 二、设计思路: 每按下一个数字键或者符号键的时候,利用get(handles.edit1,'string')获取当前输入文本框edit1的string属性,并通过字符串合并函数strcat()将当前输入文本框edit1的字符型string属性与按键的字符型string属性合并成字符串,然后利用属性设置函数set(); 将合并后的字符串返回到输入文本框edit1的string属性。当输入结束,用户按下等号的时候,采用x=get(handles.edit1,'string')获取当前输入文本框edit1的string属性,然后利用字符串执行命令y1=eval(x)计算输入文本框的表达式,得到的结果是字符型常量;然后利用字符串输出格式控制函数y=sprintf('%.10f',y1)使输出结果精确到小数点后十位;最后利用属性设置函数set(handles.edit2,'string',y)将转换后的字符串返回到输出文本框edit2的string 属性。 三、设计步骤: 1、运行matlab 7.13版,进入主界面。

2、点击工具栏上的GUIDE图标进入GUI开发环境。

3、创建控件:Push Button包括数字0~9、运算符“+ - ×÷”、功能键等十九个,输入和动态静态文本框Edit Text,显示文字的静态文本框Static Text四个等。

(word完整版)用MATLAB GUI设计简单计算器

摘要 基于MATLAB GUI的计算器设计是利用GUIDE创建图形用户界面进行计算器设计。设计计算器时,主要是考虑到计算器的易用性、功能的常用程度进行计算器界面与功能的设计。通过调整控件和文本的布局及颜色,使界面简单大方、布局合理,达到界面友好的效果。 计算器设计时主要利用到get和set两个函数进行各个控件属性值的传递和设置。计算器实现的功能有:数字0~9和小数点的输入显示,平方、开平方和对数的输入显示。进行四则运算、正弦计算、余弦计算、正切计算和余切计算,可以求阶乘、求百分数和求倒数。可以进行括号及变量x与变量y的输入,结合坐标轴编辑框和曲线颜色编辑框实现函数的曲线绘制。最后运行调试,实现基于MATLAB GUI的计算器的设计。 MATLAB GUI介绍 MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。 MATLAB是matrix和laboratory两个词的组合,意为矩阵工厂,主要面对科学计算、可视化以及交互式程设计的高科技计算环境。MATLAB是将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言的编辑模式,特别是所附带的30多种面向不同领域的工具箱支持,使得它在许多科学领域中成为计算机辅助设计和分析、算法研究和应用开发的基本工具和首选平台。 MATLAB的图形用户界面(Graphical User Interface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。MATLAB的图形用户界(GUI)是由光标,窗口,菜单、文字说明等对象构成一个用户界面。用户可以通过键盘输入相关的参数,通过鼠标选择、激活这些

Matlab实现的简易计算器程序代码

function varargout = jisuanqi(varargin) % JISUANQI M-file for jisuanqi.fig % JISUANQI, by itself, creates a new JISUANQI or raises the existing % singleton*. % % H = JISUANQI returns the handle to a new JISUANQI or the handle to % the existing singleton*. % % JISUANQI('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in JISUANQI.M with the given input arguments. % % JISUANQI('Property','Value',...) creates a new JISUANQI or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before jisuanqi_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to jisuanqi_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help jisuanqi % Last Modified by GUIDE v2.5 20-Jul-2011 09:45:20 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @jisuanqi_OpeningFcn, ... 'gui_OutputFcn', @jisuanqi_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before jisuanqi is made visible. function jisuanqi_OpeningFcn(hObject, eventdata, handles, varargin) handles.current_str='';%´ËΪ´æ´¢µ±Ç°µÄ×Ö·û´® handles.L1_str=''; handles.L2_str='';%´ËΪ´æ´¢ÉÏÒ»¸öÊý×ÖµÄ×Ö·û´® % This function has no output args, see OutputFcn. % hObject handle to figure

MATLAB设计矩阵计算器

MATLAB程序设计语言大作业 ——矩阵计算器 题目:矩阵计算器 学号:02123010 姓名:石星宇 指导教师:汤建龙

一、实验目的 1、通过GUI(Graphical User Interface,简称GUI,图形用户界面,又称图形用户接口)设计矩阵计算器,熟悉MATLAB中GUI工具的使用和编程。 2、加深对MATLAB GUI中句柄控制变量的理解。 3、巩固线性代数中矩阵的基本运算。 二、实验内容 1、利用MATLAB中的GUIDE工具箱快速生成GUI界面。 2、在生成的GUI界面中设计能够实现矩阵基本运算的矩阵计算器。 三、实验结果 通过GUIDE快速生成GUI界面设计的矩阵计算器如下图所示: 图1 Matrix Calculator基本界面 该矩阵计算器包含四模块,分别为:输入区、输出区、功能区及其他运算区。

四、功能描述 1、功能概述 本矩阵计算器能够实现一些基本的矩阵运算,包括对单个矩阵的运算以及对两个矩阵的运算。其中,对于两个矩阵的运算有:加、减、乘、除(左除、右除)、按元素乘、按元素除以及求解线性方程组;对于単个矩阵的运算有:转置(共轭与非共轭)、求逆、计算行列式、求秩、平方、立方、开方、求特征值、求2范数、LU 分解、最简阶梯阵化简等。 计算过程中,矩阵的输入方式与MATLAB 中矩阵输入方式类似。即①矩阵行中的元素以空格或逗号间隔;②矩阵行之间以分号间隔;③整个元素列表用方括号括起来。 2、功能详细描述 2.1矩阵相加(减) 输入A=[1 2 3;4 5 6;7 8 9],B=[1 4 7;2 5 8;3 6 9],按下“+”按钮,输出区显示计算结果如图2所示: 输入的A 、B 矩阵必须是维数相同,否则不能实现相加运算。如输入不同维数的矩阵且进行相加运算,则会提示出错如图3所示: 两矩阵相减的运算过程与相加运算类似,在此不再赘述。 图2 矩阵相加 图3 矩阵相加错误提示

基于Matlab的简易计算器

工程设计报告 设计题目:基于Matlab的简易计算器 学院: 专业: 班级: 学号: 姓名: 电子: 日期:2015年12 月 成绩: 指导教师:

. 西 安 电 子 科 技 大 学 电 子 工 程 学 院 工 程 设 计 任 务 书 学生 指导教师 职称 学生学号 专业 题目 基于Matlab 的简易计算器 任务与要求 任务如下: 利用MATLAB GUI 设计实现一个图形用户界面的计算器程序,实现: A.实现十进制数的加、减、乘、除、简单计算。 B. 科学计算函数,包括正弦、余弦、正切、余切、开方、指数等函数运行。 C. 有清除键,能清除操作。 要求如下: A .熟练掌握Matlab GUI 界面的设计与应用 B .最终计算器能够实现预期的相关功能 开始日期 2015年 11月 日 完成日期 2016年1月 日 课程设计所在单位 本表格由电子工程学院网络信息中心 编辑录入 https://www.360docs.net/doc/b219108848.html,. …………………………装………………………………订………………………………线………………………………………………………………

摘要 基于Matlab GUI计算器设计时利用GUI的创建图像用户界面进行计算器设计。设计计算器时,主要是考虑到计算器的易用性、功能的常用程度进行计算器界面与功能的设计。通过调整控件和文本的布局及颜色,使界面简单大方、布局合理,达到界面友好的效果。 计算器设计时主要利用到get和set两个函数进行各个控件属性值的传递和设置。计算器实现的功能有:数字0~9和小数点的输入显示,平方开方和对数的输入显示。进行四则运算、正弦函数、余弦函数、正切函数以及反正弦函数、反余弦函数、反正切函数的计算等等。最后运行调试,实现基于Matlab GUI的计算器的设计。 关键词:Matlab GUI 计算器 Abstracts Based on Matlab GUI calculator design using the user interface to create images of GUI calculator design.Design calculator, mainly considering the ease of use, function calculators calculator interface and function of the common level of design.By adjusting the control and the layout of the text and color, make the interface simple and easy, rational layout, to achieve the effect of friendly interface. Calculator design used to get and set two main function for each attribute value transfer and control Settings.Calculator the functions are: 0 ~ 9, according to input and decimal square root and logarithm of input.Arithmetic, sine function and cosine function, tangent function and the arcsine function,arccosine function,

相关文档
最新文档