基于MATLAB科学计算器

合集下载

基于MATLAB科学计算器

基于MATLAB科学计算器

目录计算器得效果图 ........................................................................... 错误!未定义书签。

一、GUI设计界面: (3)1。

打开GUI (3)2。

添加按钮 (3)3。

根据按钮得作用及视觉效果做一定得修改: (4)4。

保存、添加功能函数 (4)(1)数字键编写 (4)(2)符号键得编写 (4)(3)运算符“=”得编写 (5)(4)按键“←back"得编写 (5)(5)按键“清空”得编写 (5)(6)按键“退出”得编写 (5)(7)按键“二进制数转十进制数"得编写 (5)(8)按键“十进制数转二进制数”得编写 (5)二、计算器得使用 (5)除法运算(÷) (5)平方运算(^2) (6)函数cos (∏/3)得计算 (6)函数arctan (∏/3)得计算 (7)以2为底得对数得计算(log 2) (7)十进制数转二进制数得计算(调用dec2bin函数) (8)二进制数转十进制数得计算(调用bin2dec函数) (8)三、附各按键得程序源代码 (9)四、问题与解决方法 (14)五、心得体会 (14)参考文献 (15)计算器得效果图:一、GUI设计界面:1。

打开GUI输入Guide 回车或者在工具栏上点击图标打开Guide 窗口:2。

添加按钮3、根据按钮得作用及视觉效果做一定得修改:双击按钮(Puch Button)进入按键属性修改显示字符串大小、字体与颜色,然后对按钮得位置进行排布,尽量使按钮集中在静态文本框下面、4、保存、添加功能函数把做好得按钮及静态文本框保存后自动弹出Editor得M文本,对然后对相应得pushbutton添加功能函数。

以下就是相应按钮得功能函数。

(1)数字键编写在function pushbutton1_Callback(hObject, eventdata, handles)下输入: textString = get(handles。

高等数学教材用什么软件

高等数学教材用什么软件

高等数学教材用什么软件高等数学是大学数学课程中的重要一环,对于学生的数学思维能力和逻辑推理能力的培养具有重要意义。

而在教学过程中,选择合适的软件工具来辅助教学也是至关重要的。

本文将探讨高等数学教材可以采用的软件。

一、MatlabMatlab是一款强大的科学计算软件,广泛应用于各个领域的数学建模和数据处理分析中。

在高等数学教学中,可以利用Matlab来进行函数图像的绘制和分析、解方程、求导、积分等各种数学运算。

同时,Matlab还具备可视化编程接口,可以方便地进行代码编写和修改。

通过在课堂上演示Matlab的使用,可以更加生动地呈现数学概念和原理,提高学生的学习兴趣和理解能力。

二、GeoGebraGeoGebra是一款免费的动态数学软件,主要用于几何、代数和微积分等数学领域的教学与学习。

GeoGebra的核心是将几何和代数相结合,能够实时地在图像和代数表达式之间进行转换。

在高等数学教学中,GeoGebra可以用于绘制平面和空间曲线、解析几何问题、计算极限、导数和积分,以及进行微积分的动态可视化演示。

通过使用GeoGebra,教师可以直观地展示数学概念和推导过程,提高学生的空间想象能力和问题解决能力。

三、MathematicaMathematica是一种符号和数值计算软件,它提供了广泛的数学函数和算法。

在高等数学教学中,Mathematica可以用于求解各种数学问题,包括方程、微分方程、积分、极限、矩阵运算等。

此外,Mathematica还具备强大的可视化功能,可以生成精美的数学图形和动画,帮助学生更好地理解数学概念和问题。

在课堂上,教师可以通过演示Mathematica的使用,培养学生的计算和分析能力,提高他们对数学的兴趣和敏感度。

四、Casio图形计算器Casio图形计算器是一款便携式计算工具,广泛应用于高等数学的教学和考试中。

Casio图形计算器具备绘图、求解方程、微积分计算等各种功能。

在高等数学教学中,教师可以利用Casio图形计算器来进行函数图像的绘制和分析、求解方程和不等式、计算导数和积分等操作。

matlab中e科学计数法

matlab中e科学计数法
matlab中 e科学计数法
例如:4.258e+01表示42.58 一般的计算的科学计数法: 一、整数计数法: (1)7.823E5=782300,这种表示方式就是:E代表10,E后面的数代表的是指数位,例如这里的5代表指数是10的5次方 (2)1234567 = 1.234567E+6,这种表示方式是:1.表示的是1.234567乘以后面的数,也就是后面的E+6表示的是10的6次方 二、小数计数法 (1)1.23456e+002 ,这个数的表示方式就是,e+002 表示10 的2次方,这里的数就是123.456。 (2)202 +0.00000E+00,这样的数就是表示为202加上后面有个精确到小数点后五位的数 三、C语言中使用科学技术法来的方法,使用pow函数,来进行求x的y次方的计算 首先加上头文件 :#include <math.h> 表示4的3次方的时候,可以使用代码表示为:
int

matlab-GUI-设计(简易科学计算器)

matlab-GUI-设计(简易科学计算器)

MATLAB大作业班级:姓名:学号:计算器➢题目本题目通过MATLAB的gui程序设计较为简单,在gui设计中主要用到三种控件,文本编辑框(edit text),静态文本框(Static text),命令按钮(push button)。

然后在通过各个按钮的回调函数,实现简单的计算功能。

➢1、功能介绍(1)具有友好的用户图形界面。

实现十进制数的加、减、乘、除、乘方、开方等简单计算。

(2)具有科学计算函数,包括(反)正弦、(反)余弦、(反)正切、(反)余切、开方、指数等函数运行。

(注:三角函数计算的是弧度而不是角度)。

(3)有清除键,能清除操作。

➢2、功能实现程序由两个部分组成:MATLAB代码(.m文件)和GUI图形(.fig)。

程序使用的流程:直接利用图形界面中的按键键入所需数值、运算符等即可得出结果。

备注:软件版本:MATLAB 2011b首先用MATLAB GUI功能,在绘制一个静态文本框和一个文本编辑框,以及33个命令按钮,调整好各控件大小、颜色,整体布局如图所示:(附录中有相关属性修改介绍)然后通过双击各个按钮来改写其属性,在m文件中编写其回调函数,最后在运行调试。

2.1 各功能界面设计GUI设计界面:注:底部边框用(Panel)工具添加,有两种设计顺序。

(1、先加底部边框,再在底部边框上画功能键。

2、先画功能键,布好局,画底框,全选功能键拖动到底框上。

)2.2 各功能模块实现(可根据需要增减功能键)算法设计:1. 数字键设计:0—9以及小数点函数都一样,只是参数不同:例如:按键‘1’响应:global jjtextString = get(handles.text1,'String');if(strcmp(textString,'0.')==1)&(jj==0)set(handles.text1,'String','1') ;elsetextString =strcat(textString,'1');set(handles.text1,'String',textString)endjj=0;2. 四则运算函数:‘+’功能响应:textString = get(handles.text1,'String');textString =strcat(textString,'+');set(handles.text1,'String',textString)‘-’功能响应:textString = get(handles.text1,'String');textString =strcat(textString,'-');set(handles.text1,'String',textString)‘×’功能响应:textString = get(handles.text1,'String');textString =strcat(textString,'*');set(handles.text1,'String',textString)‘÷’功能响应:textString = get(handles.text1,'String');textString =strcat(textString,'/');set(handles.text1,'String',textString)3. 科学计算函数:例如:‘sin’功能响应:textString = get(handles.text1,'String');if(strcmp(textString,'0.')==1)set(handles.text1,'String','0.') ;elsea = strread(textString, '%f');a=sin(a);set(handles.text1,'String',a)end4. 退格键(DEL):通过取屏幕值,计算出其字符长度,然后取其前N-1项的值来实现退格:global jjtextString = get(handles.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;5. 清屏键函数(AC):set(handles.text1,'String','0.') ;2.3 各模块程序添加方法选中一个需添加程序的功能键,右击,View Callbacks,Callback,出现如下图所示界面。

MATLAB基础及程序设计

MATLAB基础及程序设计

一、变量和数值
➢Matlab的变量有一定的命名规则: (1)变量名区分大小写。’A’与’a’是不同的变量。 (2)变量名不能超过63个字符。 (3)变量名必须以字母开头。 (4)关键字(如if,while等)不能作为变量名。 (5)有一些系统自动定义的特殊变量,如pi,inf,i等。
➢特殊变量 ans: 用于结果的缺省变量名 pi: 圆周率 eps:计算机的最小数 inf:无穷大
>>syms a b c x f2=a*x^2+b*x+c 上面的语句即创建了符号变量a,b,c,x,又创建了符号表达 式,f1,f2符号表达式相同。
二、符号表达式的代数运算: 特点: 1、传统的数值运算由于计算机的有效位数的 限制,会产生误差。符号运算则可以避免。
2、符号运算可以得出完全的封闭解或任意精 度的数值解。
六、代数方程组的求解
[例] x1+x2=5 2x1+x2=7 x1+2x3=4
求解x1,x2。 a=[1 1 0;2 1 0;1 0 2];b=[1;5;5]; x=a\b x=
2 3
七、多项式拟合 多项式拟合是用一个多项式来逼近一组给定的 数据,在数据分析上是常用的方法,使用polyfit 函数来实现.拟合的准则是最小二乘法。 [例] x0=0:0.1:1;
2、用MATLAB函数创建 + rand —— 随机矩阵 >>rand(m,n)
+eye —— 单位矩阵 >>eye(m,n)
+zeros ——全部元素都为0 的矩阵
+>>zeros(m,n) +ones ——全部元素都为1的 矩阵
+ >>ones(m,n)

计算机在化学中的应用——利用MATLAB求解化学计算题

计算机在化学中的应用——利用MATLAB求解化学计算题

晋中学院本科毕业论文(设计)题目计算机在化学中的应用-利用MATLAB求解化学计算题院系化学化工学院专业化学姓名学号0909111113学习年限2009年9月至2013年7月指导教师申请学位学士学位2013年5 月15日计算机在化学中的应用——利用MATLAB求解化学计算题摘要:MATLAB是由美国Math works公司发布的主要面对科学计算、可视化以及交互式程序设计计算环境。

它能有效地解决数值线性代数、数值逼近、最优化等科学和工程问题。

编制程序方便,求解化学计算题高效快速。

本文分别以结构、分析、化工三方面的典型例题,来说明MATLAB在化学中的应用。

关键词:MATLAB;化学计算题;计算应用;结构;分析;化工Applications of MATLAB in Chemistry—Use MATLAB SolvingChemical Calculation ProblemsAuthor’s Name:Lijiajia Tutor: DongtaoABSTRACT:MATLAB, released by the America Mathwoks Company, is the computing environment mainly in the face of scientific computing, visualization and interactive programming. It can efficiently solve problems in science and engineering such as numerical linear algebra, digital approximation, and optimization. It also has characters of convenient programming and efficiently and quickly solving chemical calculation problems. This paper will explain MATLAB in the application of chemistry by referencing typical examples about structural chemistry, analytical chemistry and chemical industry.KEYWORDS:MATLAB;Chemical calculation problems;Computing applications;Structural chemistry;Analytical chemistry ;Chemical industry目录1 MATLAB简介 (1)1.1MATLAB的简要发展 (1)1.2 MATLAB的功能介绍 (1)2 MATLAB在化学中的应用 (2)2.1 MATLAB在结构化学计算中的应用—休克尔分子轨道的计算 (2)2.2 MATLAB在分析化学中的应用—计算溶液的pH (3)2.2.1 一元强酸(碱)中H+的计算 (3)2.2.2 一元弱酸(碱)溶液pH的计算 (4)2.3 MATLAB在化工计算中的应用—解非线性方程(组) (6)2.3.1 解非线性方程 (6)2.3.2 解非线性方程组 (7)3结语 (8)注释 (9)参考文献 (10)致谢 (11)1 MALAB简介1.1MATLAB的发展历史MATLAB是Math works公司推出的适用于科学和工程计算的数学软件系统,MATLAB即Matrix(矩阵)和Laboratory(实验室)的简称,雏形是Cleve Moler教授为学生编写的用于Linspack和Eispack的接口程序。

matlab符号运算求解微分方程

matlab符号运算求解微分方程

matlab符号运算求解微分方程在科学研究和工程技术领域,微分方程是一种常见的数学模型,用于描述存在着变化和相互关联的自然现象。

然而,微分方程通常需要采用解析或数值方法才能得到精确的解。

而作为一种强大的数学计算软件和编程语言,MATLAB的符号计算工具可以提供一种方便有效的方式来求解微分方程。

符号计算是一种基于数学公式和符号代数方法的计算技术,相比于数字计算,它更加精确和高效。

在MATLAB中,通过Symbolic Math Toolbox可以轻松实现符号计算,包括求解微分方程、计算积分、求解方程等。

下面我们将从三个方面介绍如何使用MATLAB求解微分方程。

一、符号变量的定义和使用在MATLAB中,我们首先需要定义符号变量。

通过声明符号变量,我们可以让MATLAB知道我们要处理的变量是符号变量,而不是数字变量。

定义符号变量可以使用syms函数。

例如,我们要定义一个符号变量x,只需要在MATLAB命令窗口中输入以下代码:syms x接下来,我们可以使用符号变量x来表示各种函数表达式和微分方程中的未知函数。

例如,我们可以定义一个函数表达式f(x):f(x) = x^2 + 2*x + 1我们可以使用f(x)来表示这个函数,在MATLAB命令窗口中输入f(x),就可以得到函数的值。

同时,符号变量也可以用来表示微分方程中的未知函数。

例如,我们可以定义一个一阶常微分方程:syms y(x)ode = diff(y,x) == x其中,y(x)表示未知函数,而ode表示微分方程。

diff函数用于求解函数y(x)对x的导数。

我们可以使用dsolve函数来求解微分方程。

例如,我们可以在命令窗口中输入以下代码:dsolve(ode)通过这个函数调用,MATLAB将给出微分方程的解析解。

二、符号运算和微分方程求解在MATLAB中,我们可以使用符号运算来对方程进行化简和求解。

符号运算包括:1. simplify:对表达式进行化简;2. collect:将表达式中相似的项进行合并;3. factor:将表达式进行因式分解;4. expand:将表达式展开;5. subs:用指定的符号代替表达式中的变量。

四种计算软件对比

四种计算软件对比

四种软件的比较(Maple, Matlab, Mathematic, MathCAD)四种软件的比较选用何种数学软件?如果仅仅是要求一般的计算或者是普通用户日常使用.首选的是MathCAD.它在商等数学方面所具有的能力.足够一般客户的耍求•而且它的输入界面也特别友好。

如果婆求计算精度、符号讣算和编程方面的话,最好同时使用Maple和Mathematica.它们在符号处理方血各具特色,有些 Maple不能处理的,Mathematica却能处理.诸如某些积分、求极限等方血.这些都是比较持殊的。

如果要求进行矩阵方而或图形方面的处理.则选择MATLAB,它的矩阵计算和图形处理方面则是它的强项,同时利用MATLAB的NoteBook功能,结合Word6.0/7.0的编辑功能.可以很方便地处理科技文包MATLAB是一套痈性能的数值il•算和可视化软件,最初主要用于方便矩阵的存取.其基木元素是无需定义维数的矩阵。

经过十几年的完善和扩充,现在已发展成为线性代数课程的标准匸具.也成为其它许女领域课程的使用丄具。

在丄业环境中.可用來解决实际的工程和数学问範其典型应用有:通用的数值计算,算法设计.各种学科如自动控制、数字信号处理.统汁信号处理等领域的专门问题求解》MATLAB集数值分析、矩阵运算.信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境。

在这个环境下. 对所要求解的问題,用户只需简单地列出数学表达式、其结果便以人们十分熟悉的数值或图形方式显示出來。

MATLAB语言易学易用.不嬰求用户有商深的数学和程序语言知识,不需婆州户深刻了解算法及編程技巧。

MATLAB既是一种编程环境.又是一种程序设计语言。

这种语言与C、FORTRAN等语言一样.有其内定的规则,但MATLAB的规则更接近数学表示。

使用更为简便.可使用户大大节约设讣时间.提商设计质址。

Mathematica是一个集成化的讣算机软件系统,它的主要功能包括三个方面:符号演算、数值计算和图形。

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

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四个等。

4、对控件单击右键弹出菜单,选择Property Inspector,设置控件属性。

控件属性表text text1 制作:***16pointsboldon0.8310.8160.7840 0 1 text2 Inputtext3 Outputtext4 算术计算器200.7490.749editedit1 空白字符串10pointson 1 1 1 0 0 0 edit2 空白字符串5、选择工具栏上的Align Objects按键,调整控件布局。

矩阵计算器

矩阵计算器

用Matlab GUI编写一个简单的矩阵计算器摘要:矩阵是线性代数的一个主要内容,又是解决众多问题的主要工具。

而矩阵运算是矩阵理论的基本内容之一。

目前,普通的计算器只能够进行数的运算,而不能够实现矩阵的运算。

随着科技的不断发展,人们对矩阵的运用也会不断的增多。

因此,制作一个矩阵计算器对当今科技的发展有一定的推动作用。

关键字:矩阵运算、Matlab GUI、计算器正文:一、矩阵的相关知识在数学上,矩阵是指纵横排列的二维数据表格,最早来自于方程组的系数及常数所构成的方阵。

这一概念由19世纪英国数学家凯利首先提出。

矩阵,是由个数组成的一个行列的矩形表格,通常用大写字母表示,组成矩阵的每一个数,均称为矩阵的元素,通常用小写字母其元素表示,其中下标都是正整数,他们表示该元素在矩阵中的位置。

比如,或表示一个矩阵,下标表示元素位于该矩阵的第行、第列。

元素全为零的矩阵称为零矩阵。

当一个矩阵的行数与烈数相等时,该矩阵称为一个阶方阵。

对于方阵,从左上角到右下角的连线,称为主对角线;而从左下角到右上角的连线称为付对角线。

若一个阶方阵的主对角线上的元素都是,而其余元素都是零,则称为单位矩阵,记为,即:。

如一个阶方阵的主对角线上(下)方的元素都是零,则称为下(上)三角矩阵,例如,是一个阶下三角矩阵,而则是一个阶上三角矩阵。

今后我们用表示数域上的矩阵构成的集合,而用或者表示数域上的阶方阵构成的集合。

矩阵是高等代数学中的常见工具,其中的一个重要用途是解线性方程组。

线性方程组中未知量的系数可以排成一个矩阵,加上常数项,则称为增广矩阵。

另一个重要用途是表示线性变换,即是诸如f(x) 4x之类的线性函数的推广。

同时也常见于统计分析等应用数学学科中。

在物理学中,矩阵于电路学、力学、光学和量子物理中都有应用;计算机科学中,三维动画制作也需要用到矩阵。

矩阵的运算是数值分析领域的重要问题。

将矩阵分解为简单矩阵的组合可以在理论和实际应用上简化矩阵的运算。

用MATLAB做的 一个计算器

用MATLAB做的 一个计算器

一、布局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 后添加“+”进行运算。

如何在MATLAB中进行数值计算

如何在MATLAB中进行数值计算

如何在MATLAB中进行数值计算1.基本数学操作:-加法、减法、乘法、除法:使用+、-、*、/操作符进行基本算术运算。

-幂运算:使用^或.^(点乘)操作符进行幂运算。

- 开平方/立方:可以使用sqrt(或power(函数进行开平方和立方运算。

2.矩阵操作:- 创建矩阵:可以使用矩阵构造函数如zeros(、ones(、rand(等创建矩阵。

- 矩阵运算:使用*操作符进行矩阵相乘,使用transpose(函数进行矩阵转置。

- 矩阵求逆和求解线性方程组:使用inv(函数求矩阵的逆,使用\操作符求解线性方程组。

3.数值积分和微分:- 数值积分:使用integral(函数进行数值积分。

可以指定积分函数、积分上下限和积分方法。

- 数值微分:使用diff(函数进行数值微分。

可以指定微分函数和微分变量。

4.解方程:- 一元方程:使用solve(函数可以解一元方程。

该函数会尝试找到方程的精确解。

- 非线性方程组:使用fsolve(函数可以求解非线性方程组。

需要提供初始值来开始求解过程。

-数值方法:可以使用牛顿法、二分法等数学方法来求解方程。

可以自定义函数来实现这些方法。

5.统计分析:- 统计函数:MATLAB提供了丰富的统计分析函数,如mean(、std(、var(等用于计算均值、标准差、方差等统计量。

- 直方图和密度估计:使用histogram(函数可以绘制直方图,并使用ksdensity(函数进行核密度估计。

- 假设检验:使用ttest(或anova(函数可以进行假设检验,用于比较多组数据之间的差异。

6.数值优化:- 非线性最小化:使用fminunc(函数可以进行非线性最小化。

需要提供目标函数和初始点。

- 线性规划:使用linprog(函数可以进行线性规划。

需要提供目标函数和限制条件。

- 整数规划:使用intlinprog(函数可以进行整数规划。

需要提供目标函数和整数约束。

7.拟合曲线:- 线性拟合:使用polyfit(函数进行线性拟合。

matlab gui计算器工作原理

matlab gui计算器工作原理

MATLAB GUI计算器是一种基于MATLAB编程语言的图形用户界面应用程序,它可以像普通计算器一样执行基本数学运算并提供一些高级功能。

下面将介绍MATLAB GUI计算器的工作原理。

1. MATLAB GUI计算器的界面设计MATLAB GUI计算器的界面主要由各种按钮、文本框和其他控件组成,用户可以通过鼠标点击按钮或者输入文本框来进行计算操作。

界面设计需要考虑美观和易用性,通常可以使用MATLAB中的GUIDE工具来进行可视化设计。

2. MATLAB GUI计算器的程序逻辑MATLAB GUI计算器的程序逻辑主要由MATLAB脚本文件编写而成,这些脚本文件包括界面初始化、按钮点击事件处理、计算逻辑等。

通过编写MATLAB脚本,可以实现各种计算功能,并与界面上的控件进行交互。

3. MATLAB GUI计算器的计算功能MATLAB GUI计算器可以执行基本的加减乘除运算,同时还可以实现一些高级的数学函数计算,比如三角函数、指数函数、对数函数等。

这些功能需要通过MATLAB内置的数学函数库来实现。

4. MATLAB GUI计算器的数据输入和输出MATLAB GUI计算器的数据输入通常通过用户的按钮点击或者键盘输入来实现,而数据输出则通过界面上的文本框显示。

在实现计算逻辑时,可以将用户输入的数据和计算结果通过MATLAB脚本进行处理,并更新到界面上。

5. MATLAB GUI计算器的实时更新MATLAB GUI计算器可以在用户输入数据或者点击按钮时实时更新界面上的数据和计算结果,这需要通过MATLAB脚本中的事件处理函数来实现数据更新和界面刷新。

通过上述介绍,我们可以清晰地了解MATLAB GUI计算器的工作原理和实现方法。

通过深入学习MATLAB编程语言和GUI设计技术,我们可以设计出更加复杂和功能强大的GUI应用程序,为科学计算和工程应用提供便利和高效的计算工具。

6. MATLAB GUI计算器的错误处理在使用MATLAB GUI计算器时,用户可能会输入错误的数据或者进行非法的计算操作,因此在程序中需要考虑到错误处理的逻辑。

计算方法matlab实验报告

计算方法matlab实验报告

计算方法matlab实验报告计算方法MATLAB实验报告引言:计算方法是一门研究如何用计算机来解决数学问题的学科。

在计算方法的学习过程中,MATLAB作为一种强大的数值计算软件,被广泛应用于科学计算、工程计算、数据分析等领域。

本实验报告将介绍在计算方法课程中使用MATLAB 进行的实验内容和实验结果。

一、二分法求方程根在数值计算中,求解非线性方程是一个常见的问题。

二分法是一种简单而有效的求解非线性方程根的方法。

在MATLAB中,可以通过编写函数和使用循环结构来实现二分法求解方程根。

实验步骤:1. 编写函数f(x),表示待求解的非线性方程。

2. 设定初始区间[a, b],满足f(a) * f(b) < 0。

3. 利用二分法迭代求解方程根,直到满足精度要求或迭代次数达到预设值。

实验结果:通过在MATLAB中编写相应的函数和脚本,我们成功求解了多个非线性方程的根。

例如,对于方程f(x) = x^3 - 2x - 5,我们通过二分法迭代了5次,得到了方程的一个根x ≈ 2.0946。

二、高斯消元法解线性方程组线性方程组的求解是计算方法中的重要内容之一。

高斯消元法是一种常用的求解线性方程组的方法,它通过矩阵变换将线性方程组化为上三角矩阵,从而简化求解过程。

在MATLAB中,可以利用矩阵运算和循环结构来实现高斯消元法。

实验步骤:1. 构建线性方程组的系数矩阵A和常数向量b。

2. 利用高斯消元法将系数矩阵A化为上三角矩阵U,并相应地对常数向量b进行变换。

3. 利用回代法求解上三角矩阵U,得到线性方程组的解向量x。

实验结果:通过在MATLAB中编写相应的函数和脚本,我们成功求解了多个线性方程组。

例如,对于线性方程组:2x + 3y - z = 13x - 2y + 2z = -3-x + y + 3z = 7经过高斯消元法的计算,我们得到了方程组的解x = 1,y = -2,z = 3。

三、数值积分方法数值积分是计算方法中的重要内容之一,它用于计算函数在给定区间上的定积分。

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

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

基于MATLAB的多功能计算器设计与实现摘要随看信息技术的发展,数据变得越来越重要,针对数据的处理也越来越复杂,计算器在我们日常生活学习中扮演越来越重要角色。

本文基于MATLAB设计的GUI 多功能计算器,包括三部分:简易计算器、科学计算器和程序员计算器。

其中,简易计算器包括了常用的加减乘除;科学计算器在加减乘除上,添加了正余弦、阶乘和对数等常用的数学计算;程序员计算器包括了二进制、八进制、十六进制的相互转换和二进制的与、或和异或等逻辑运算。

此多功能计算器改进了以前功能单一的计算器,具有较强的实用性。

关键字:MATLAB; GUI ;多功能计算器AbstractWith 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的多功能计算器设计的目的和意义当今时代是一个信息化的时代,信息化的时代到处充满了数据,生活在这个信息化时代的人们,无论人们在做什么行业,都需要时时刻刻跟数据打交道。

在科学计算中的应用(4)

在科学计算中的应用(4)

或者其他任何字符处理器,同时它还可以与Word6.0/7.0结合在一起,在
Word的页面里直接调用MATLAB的大部分功能,使Word具有特殊的计
算能力。
精选ppt课件
24
MATLAB 是一套组合工具
是大而全好 还是专而精好?
精选ppt课件
25
四种软件的比较
选用何种数学软件?
如果仅仅是要求一般的计算或者是普通用户日常使用,
• 计算机数学语言
– MATLAB 1984 v1 The MathWorks Inc
• MATrix LABoratory
• 1980 Cleve Moler教授, New Mexico University
• 自动控制学科的应用(正赶上状态空间的控制理 论的兴起发展阶段)
– Mathematica(Wolfram Research公司)
– 数学家:理论严格证明、存在性 – 工程技术人员:如何直接得出解
• 解析解不能使用的场合
– 不存在
– 数学家解决方法,引入符号erf(a) – 工程技术人员更感兴趣积分的值=>数值解
精选ppt课件
9
• 解析解不能使用的场合
– 解析解不存在:无理数,无限不循环小数 p – 数学家:尽量精确地取值 – 工程技术人员:足够精确即可 – 祖冲之 3.1415926—3.1415927
– 线性代数计算 LaPACK
精选ppt课件
12
软件包作用
• 从历史发展角度,起了不可替代的作用 • 对计算机数学语言的强有力支持 • 但不能过多依赖 • 使用烦琐 • 应该在计算机数学语言的意义下利用之
精选ppt课件
13
考虑一个实际编程例子

MATLAB基本操作实验

MATLAB基本操作实验
for k=1:2
A(i,j,k)=i+j+k;
end
end
end
>> A(:,:,:)
ans(:,:,1) =
3 4
4 5
ans(:,:,2) =
4 5
5 6
(3)低维数组法:
>> d1=[1,2,3;4,5,6;7,8,9];
>> d2(:,:,1)=d1;
>> d2(:,:,2)=2*d1;
>> d2(:,:,3)=3*d1;
(4)定数对数采样法:
b=logspace(1,2,5)
b =
10.0000 17.7828 31.6228 56.2341 100.0000
2,(1)直接输入法:
c=[2,4;2,3]
c =
2 4
2 3
>> c=[2 4;2 3]
c =
2 4
2 3
(2)下标法:
>> for i=1:2
for j=1:2
>> d2
d2(:,:,1) =
1 2 3
4 5 6
7 8 9
d2(:,:,2) =
2 4 6
8 10 12
14 16 18
d2(:,:,3) =
3 6 9
12 15 18
21 24 27
(4)创建函数法:
Cat函数:
>>a=[1,2,3;4,5,6];
>> b=[7,8,9;10,11,12];
>> c=cat(1,a,b)
科学计算与数据处理实验
学 号

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

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 EDITgui_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});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});elsegui_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% 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 jisuanqi (see VARARGIN)% Choose default command line output for jisuanqihandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes jisuanqi wait for user response (see UIRESUME)% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line. function varargout = jisuanqi_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)% Get default command line output from handles structurevarargout{1} = handles.output;% --- Executes on button press in Number_0.function Number_0_Callback(hObject, eventdata, handles)%Á¬½Óµ±Ç°µÄ×Ö·û´®ºÍ0£¬Èç¹û°´ÁË0¼üµÄ»°¡£handles.current_str=strcat(handles.current_str,'0');handles.L1_str=strcat(handles.L1_str,'0');%ÔÚÊä³öµ±Ç°µÄ×Ö·û´®set(handles.edit1,'String',handles.current_str);guidata(hObject, handles);% hObject handle to Number_0 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% --- Executes on button press in xiaoshudian.function xiaoshudian_Callback(hObject, eventdata, handles)handles.current_str=strcat(handles.current_str,'.');guidata(hObject, handles);%СÊýµã% hObject handle to xiaoshudian (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% --- Executes on button press in jia_jian.function jia_jian_Callback(hObject, eventdata, handles)% hObject handle to jia_jian (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% --- Executes on button press in Number_1.function Number_1_Callback(hObject, eventdata, handles)% hObject handle to Number_1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)%Á¬½Óµ±Ç°µÄ×Ö·û´®ºÍ1£¬Èç¹û°´ÁË1¼üµÄ»°¡£handles.current_str=strcat(handles.current_str,'1');handles.L1_str=strcat(handles.L1_str,'1');%ÔÚÊä³öµ±Ç°µÄ×Ö·û´®set(handles.edit1,'String',handles.current_str);guidata(hObject, handles);% --- Executes on button press in Number_2.function Number_2_Callback(hObject, eventdata, handles)%Á¬½Óµ±Ç°µÄ×Ö·û´®ºÍ2£¬Èç¹û°´ÁË1¼üµÄ»°¡£handles.current_str=strcat(handles.current_str,'2');handles.L1_str=strcat(handles.L1_str,'2');%ÔÚÊä³öµ±Ç°µÄ×Ö·û´®set(handles.edit1,'String',handles.current_str);guidata(hObject, handles);% hObject handle to Number_2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in Number_3.function Number_3_Callback(hObject, eventdata, handles)%Á¬½Óµ±Ç°µÄ×Ö·û´®ºÍ3£¬Èç¹û°´ÁË3¼üµÄ»°¡£handles.current_str=strcat(handles.current_str,'3');handles.L1_str=strcat(handles.L1_str,'3');%ÔÚÊä³öµ±Ç°µÄ×Ö·û´®set(handles.edit1,'String',handles.current_str);guidata(hObject, handles);% hObject handle to Number_3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in Number_4.function Number_4_Callback(hObject, eventdata, handles)%Á¬½Óµ±Ç°µÄ×Ö·û´®ºÍ4£¬Èç¹û°´ÁË4¼üµÄ»°¡£handles.current_str=strcat(handles.current_str,'4');handles.L1_str=strcat(handles.L1_str,'4');%ÔÚÊä³öµ±Ç°µÄ×Ö·û´®set(handles.edit1,'String',handles.current_str);guidata(hObject, handles);% hObject handle to Number_4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in Number_5.function Number_5_Callback(hObject, eventdata, handles)%Á¬½Óµ±Ç°µÄ×Ö·û´®ºÍ5£¬Èç¹û°´ÁË5¼üµÄ»°¡£handles.current_str=strcat(handles.current_str,'5');handles.L1_str=strcat(handles.L1_str,'5');%ÔÚÊä³öµ±Ç°µÄ×Ö·û´®set(handles.edit1,'String',handles.current_str);guidata(hObject, handles);% hObject handle to Number_5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in Number_6.function Number_6_Callback(hObject, eventdata, handles)%Á¬½Óµ±Ç°µÄ×Ö·û´®ºÍ6£¬Èç¹û°´ÁË6¼üµÄ»°¡£handles.current_str=strcat(handles.current_str,'6');handles.L1_str=strcat(handles.L1_str,'6');%ÔÚÊä³öµ±Ç°µÄ×Ö·û´®set(handles.edit1,'String',handles.current_str);guidata(hObject, handles);% hObject handle to Number_6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in Number_7.function Number_7_Callback(hObject, eventdata, handles)%Á¬½Óµ±Ç°µÄ×Ö·û´®ºÍ7£¬Èç¹û°´ÁË7¼üµÄ»°¡£handles.current_str=strcat(handles.current_str,'7');handles.L1_str=strcat(handles.L1_str,'7');%ÔÚÊä³öµ±Ç°µÄ×Ö·û´®set(handles.edit1,'String',handles.current_str);guidata(hObject, handles);% hObject handle to Number_7 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in Number_8.function Number_8_Callback(hObject, eventdata, handles)%Á¬½Óµ±Ç°µÄ×Ö·û´®ºÍ8£¬Èç¹û°´ÁË8¼üµÄ»°¡£handles.current_str=strcat(handles.current_str,'8');handles.L1_str=strcat(handles.L1_str,'8');%ÔÚÊä³öµ±Ç°µÄ×Ö·û´®set(handles.edit1,'String',handles.current_str);guidata(hObject, handles);% hObject handle to Number_8 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in Number_9.function Number_9_Callback(hObject, eventdata, handles)%Á¬½Óµ±Ç°µÄ×Ö·û´®ºÍ9£¬Èç¹û°´ÁË9¼üµÄ»°¡£handles.current_str=strcat(handles.current_str,'9');handles.L1_str=strcat(handles.L1_str,'9');%ÔÚÊä³öµ±Ç°µÄ×Ö·û´®set(handles.edit1,'String',handles.current_str);guidata(hObject, handles);% hObject handle to Number_9 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in jiahao.function jiahao_Callback(hObject, eventdata, handles)handles.current_str=strcat(handles.current_str,'+');set(handles.edit1,'String',handles.current_str);guidata(hObject, handles);% hObject handle to jiahao (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in denghao.function denghao_Callback(hObject, eventdata, handles)st = get(handles.edit1,'String');%¼ÆËã½á¹û£¬²¢´æ·Åµ½µÚ¶þ¸ö±à¼-¿òÖС£val = eval(st);s = num2str(val);set(handles.edit2,'String',s);guidata(hObject, handles);% hObject handle to denghao (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in jianhao.function jianhao_Callback(hObject, eventdata, handles)handles.current_str=strcat(handles.current_str,'-');set(handles.edit1,'String',handles.current_str);guidata(hObject, handles);% hObject handle to jianhao (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in X_daoshu.function X_daoshu_Callback(hObject, eventdata, handles)handles.current_str=strcat(handles.current_str,'\1');set(handles.edit1,'String',handles.current_str);guidata(hObject, handles);% hObject handle to X_daoshu (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in chenghao.function chenghao_Callback(hObject, eventdata, handles)handles.current_str=strcat(handles.current_str,'*');set(handles.edit1,'String',handles.current_str);guidata(hObject, handles);% hObject handle to chenghao (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in baifenhao.function baifenhao_Callback(hObject, eventdata, handles)handles.current_str=strcat(handles.current_str,'/100');set(handles.edit1,'String',handles.current_str);guidata(hObject, handles);handles.L2_str=handles.L1_str;handles.L1_str = '';% hObject handle to baifenhao (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in chuhao.function chuhao_Callback(hObject, eventdata, handles)handles.current_str=strcat(handles.current_str,'/');set(handles.edit1,'String',handles.current_str);guidata(hObject, handles);% hObject handle to chuhao (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in Sqrt.function Sqrt_Callback(hObject, eventdata, handles)handles.current_str=strcat(handles.current_str,'sqrt');handles.L1_str=strcat(handles.L1_str,'sqrt');%ÔÚÊä³öµ±Ç°µÄ×Ö·û´®set(handles.edit1,'String',handles.current_str);guidata(hObject, handles);% hObject handle to Sqrt (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in X_lifang.function X_lifang_Callback(hObject, eventdata, handles)handles.current_str=strcat(handles.current_str,'^3');set(handles.edit1,'String',handles.current_str);guidata(hObject, handles);% hObject handle to X_lifang (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in x_pingfang.function x_pingfang_Callback(hObject, eventdata, handles)handles.current_str=strcat(handles.current_str,'^2');set(handles.edit1,'String',handles.current_str);guidata(hObject, handles);% hObject handle to x_pingfang (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in zhengqie.function zhengqie_Callback(hObject, eventdata, handles)handles.current_str=strcat(handles.current_str,'tan');handles.L1_str=strcat(handles.L1_str,'tan');%ÔÚÊä³öµ±Ç°µÄ×Ö·û´®set(handles.edit1,'String',handles.current_str);guidata(hObject, handles);% hObject handle to zhengqie (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in zhengxian.function zhengxian_Callback(hObject, eventdata, handles)handles.current_str=strcat(handles.current_str,'sin');handles.L1_str=strcat(handles.L1_str,'sin');%ÔÚÊä³öµ±Ç°µÄ×Ö·û´®set(handles.edit1,'String',handles.current_str);guidata(hObject, handles);% hObject handle to zhengxian (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in CE.function CE_Callback(hObject, eventdata, handles)% hObject handle to CE (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in C.function C_Callback(hObject, eventdata, handles)% hObject handle to C (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) handles.current_str = '';set(handles.edit1,'String','0.');set(handles.edit2,'String','0.');guidata(hObject, handles);% --- Executes on button press in Backspace.function Backspace_Callback(hObject, eventdata, handles)% hObject handle to Backspace (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)s1 = handles.current_str;handles.current_str = s1(1:length(s1)-1);set(handles.edit1,'String',handles.current_str);guidata(hObject, handles);function edit1_Callback(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit1 as text% str2double(get(hObject,'String')) returns contents of edit1 as a double% --- Executes during object creation, after setting all properties. function edit1_CreateFcn(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endif ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')) ;end% --- Executes on button press in shujujiazai.function shujujiazai_Callback(hObject, eventdata, handles)% hObject handle to shujujiazai (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global YSData;[filename,pathname,FILTERINDEX]=uigetfile({'*.xls';'*.dat';'*.*'},'Ñ¡ÔñÊý¾ÝÎļþ');if(FILTERINDEX==0)return;endstr_filename=[pathname,filename];fid=fopen(str_filename,'rt');if(fid==-1)errordlg('Open file error!','Open error');return;endYSData=xlsread(str_filename);set(handles.lujingxianshi,'String',str_filename);set(handles.tuxingxianshi,'Enable','on');function lujingxianshi_Callback(hObject, eventdata, handles)% hObject handle to lujingxianshi (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)set(handles.lujingxianshi,'String',pathname);% Hints: get(hObject,'String') returns contents of lujingxianshi as text % str2double(get(hObject,'String')) returns contents of lujingxianshi as a double% --- Executes during object creation, after setting all properties. function lujingxianshi_CreateFcn(hObject, eventdata, handles)% hObject handle to lujingxianshi (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end% --- Executes on button press in zhuxingtu.function zhuxingtu_Callback(hObject, eventdata, handles)% hObject handle to zhuxingtu (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)set(handles.zhuxingtu,'Value',1);set(handles.zhexiantu,'Value',0);set(handles.yuanbingtu,'Value',0);% Hint: get(hObject,'Value') returns toggle state of zhuxingtu% --- Executes on button press in zhexiantu.function zhexiantu_Callback(hObject, eventdata, handles)% hObject handle to zhexiantu (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)set(handles.zhuxingtu,'Value',0);set(handles.zhexiantu,'Value',1);set(handles.yuanbingtu,'Value',0);% Hint: get(hObject,'Value') returns toggle state of zhexiantu% --- Executes on button press in yuanbingtu.function yuanbingtu_Callback(hObject, eventdata, handles)% hObject handle to yuanbingtu (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)set(handles.zhuxingtu,'Value',0);set(handles.zhexiantu,'Value',0);set(handles.yuanbingtu,'Value',1);% Hint: get(hObject,'Value') returns toggle state of yuanbingtu% --- Executes on button press in tuxingxianshi.function tuxingxianshi_Callback(hObject, eventdata, handles)global YSData;%Åжϡ®Í¼ÏñÀàÐÍ¡¯ÏÂ×éºÏ¿òÖеĸ÷µ¥Ñ¡°´Å¥µÄÑ¡ÖÐÇé¿ö£¬²¢´æ´¢ÔÚIndex_rad iobuttonÖÐIndex_radiobutton=get([handles.zhuxingtu,handles.zhexiantu,handles.yuan bingtu],'Value');%½øÐÐͼÐÎÉú³Éif(Index_radiobutton{1}==1)bar(YSData);title('¸÷Êý¾ÝÖ±·½Í¼');endif(Index_radiobutton{2}==1)plot(YSData);title('¸÷Êý¾ÝÕÛÏßͼ');endif(Index_radiobutton{3}==1)pie(YSData);title('¸÷Êý¾ÝÔ²±ýͼ');end% hObject handle to tuxingxianshi (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% global YSData;% --- Executes during object creation, after setting all properties. function tuxingxianshi_CreateFcn(hObject, eventdata, handles)% hObject handle to tuxingxianshi (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called function edit2_Callback(hObject, eventdata, handles)% hObject handle to edit2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit2 as text% str2double(get(hObject,'String')) returns contents of edit2 as a double% --- Executes during object creation, after setting all properties. function edit2_CreateFcn(hObject, eventdata, handles)% hObject handle to edit2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end% --- Executes on button press in Quit.function Quit_Callback(hObject, eventdata, handles)% hObject handle to Quit (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)close(gcf);% --- Executes during object deletion, before destroying properties. function zhengxian_DeleteFcn(hObject, eventdata, handles)% hObject handle to zhengxian (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)function edit3_Callback(hObject, eventdata, handles)% hObject handle to edit3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit3 as text% str2double(get(hObject,'String')) returns contents of edit3 as a double% --- Executes during object creation, after setting all properties. function edit3_CreateFcn(hObject, eventdata, handles)% hObject handle to edit3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end。

matlab中fig坐标轴科学计数法

matlab中fig坐标轴科学计数法

在MATLAB中,经常会遇到需要对图形的坐标轴进行科学计数法的显示。

科学计数法是一种用于表示非常大或非常小的数字的简洁方式,它使用10的幂来表示数字。

在MATLAB中,通过对图形的坐标轴进行适当的设置,可以很容易地实现科学计数法的显示。

让我们来了解一下MATLAB中图形的坐标轴的基本设置。

图形的坐标轴包括x轴和y轴,它们用来表示图形中的水平和垂直方向的数值。

在MATLAB中,我们可以通过一些属性来设置坐标轴的显示格式,包括刻度的范围、刻度的间隔、刻度标签的格式等。

接下来,让我们看一下在MATLAB中如何对图形的坐标轴进行科学计数法的显示。

我们需要使用MATLAB中的plot函数或者其他绘图函数来绘制图形。

我们可以使用MATLAB中的gca函数来获取当前图形的坐标轴对象,进而通过设置坐标轴对象的属性来实现科学计数法的显示。

在MATLAB中,默认情况下,当坐标轴的数值非常大或非常小时,MATLAB会自动使用科学计数法来显示坐标轴的刻度标签。

但是,有时候我们可能希望手动地控制坐标轴的科学计数法的显示格式,这时就需要使用MATLAB中的一些函数来实现。

在MATLAB中,可以使用set函数来设置坐标轴对象的属性。

可以通过设置坐标轴对象的XAxis或者YAxis的属性来控制坐标轴的科学计数法的显示格式。

其中,可以使用Exponent属性来设置科学计数法的指数部分的显示格式,使用TickLabelFormat属性来设置刻度标签的显示格式等。

除了使用set函数来设置坐标轴对象的属性之外,还可以使用MATLAB中的一些其他函数来实现科学计数法的显示。

可以使用xticks函数和yticks函数来设置坐标轴的刻度位置,使用xticklabels函数和yticklabels函数来设置坐标轴的刻度标签等。

在实际的使用中,需要根据具体的情况来选择合适的方法来实现科学计数法的显示。

有时候,可能需要结合使用多种方法来达到最佳的显示效果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录计算器的效果图 ................................................... 错误!未定义书签。

一、GUI设计界面: (3)1.打开GUI (3)2.添加按钮 (4)3.根据按钮的作用及视觉效果做一定的修改: (4)4.保存、添加功能函数 (4)(1)数字键编写 (4)(2)符号键的编写 (5)(3)运算符“=”的编写 (5)(4)按键“←back”的编写 (5)(5)按键“清空”的编写 (6)(6)按键“退出”的编写 (6)(7)按键“二进制数转十进制数”的编写 (6)(8)按键“十进制数转二进制数”的编写 (6)二、计算器的使用 (6)除法运算(÷) (6)平方运算(^2) (7)函数cos (∏/3)的计算 (7)函数arctan (∏/3)的计算 (8)以2为底的对数的计算(log 2) (9)十进制数转二进制数的计算(调用dec2bin函数) (9)二进制数转十进制数的计算(调用bin2dec函数) (9)三、附各按键的程序源代码 (10)四、问题和解决方法 (16)五、心得体会 (17)参考文献 (17)计算器的效果图:一、GUI设计界面:1.打开GUI输入Guide 回车或者在工具栏上点击图标打开Guide 窗口:2.添加按钮3.根据按钮的作用及视觉效果做一定的修改:双击按钮(Puch Button)进入按键属性修改显示字符串大小、字体和颜色,然后对按钮的位置进行排布,尽量使按钮集中在静态文本框下面。

4.保存、添加功能函数把做好的按钮及静态文本框保存后自动弹出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”的编写textString=get(handles.text1, 'String')w=length(textString)t=char(textString)textString=t(1:w-1) %将w个字符串转成w-1个,即删除了末位字符set(handles.text1,'String',textString)(5)按键“清空”的编写set(handles.text1,'String','')(6)按键“退出”的编写close(gcf);(7)按键“二进制数转十进制数”的编写textString=get(handles.text1,'String')e = bin2dec(textString);set(handles.text1,'String',e);(8)按键“十进制数转二进制数”的编写textString = get(handles.text1,'String');textString = strcat(textString,'dec2bin(');set(handles.text1,'String',textString)二、计算器的使用除法运算(÷)平方运算(^2)函数cos (∏/3)的计算函数arctan (∏/3)的计算以2为底的对数的计算(log 2)十进制数转二进制数的计算(调用dec2bin函数)二进制数转十进制数的计算(调用bin2dec函数)经过计算,这些结果均与实际结果相吻合,计算器的功能实现的完好且能实现较大数值的运算,计算结果用科学技术法表示。

三、附各按键的程序源代码按键“0-9、+、-、×、÷、.、= 、x^2 ”(通过get函数获得输入的字符,函数strcat 获得相应字符,并用set函数进行显示输出):function pushbutton1_Callback(hObject, eventdata, handles)textString=get(handles.text1,'String')textString=strcat(textString,'0')set(handles.text1,'String',textString)function pushbutton2_Callback(hObject, eventdata, handles)textString=get(handles.text1,'String')textString=strcat(textString,'1')set(handles.text1,'String',textString)function pushbutton3_Callback(hObject, eventdata, handles)textString=get(handles.text1,'String')textString=strcat(textString,'2')set(handles.text1,'String',textString)function pushbutton4_Callback(hObject, eventdata, handles)textString=get(handles.text1,'String')textString=strcat(textString,'3')set(handles.text1,'String',textString)function pushbutton5_Callback(hObject, eventdata, handles)textString=get(handles.text1,'String')textString=strcat(textString,'4')set(handles.text1,'String',textString)function pushbutton6_Callback(hObject, eventdata, handles)textString=get(handles.text1,'String')textString=strcat(textString,'5')set(handles.text1,'String',textString)function pushbutton7_Callback(hObject, eventdata, handles)textString=get(handles.text1,'String')textString=strcat(textString,'6')function pushbutton8_Callback(hObject, eventdata, handles) textString=get(handles.text1,'String')textString=strcat(textString,'7')set(handles.text1,'String',textString)function pushbutton9_Callback(hObject, eventdata, handles) textString=get(handles.text1,'String')textString=strcat(textString,'8')set(handles.text1,'String',textString)function pushbutton10_Callback(hObject, eventdata, handles) textString=get(handles.text1,'String')textString=strcat(textString,'9')set(handles.text1,'String',textString)function pushbutton11_Callback(hObject, eventdata, handles) textString=get(handles.text1,'String')textString=strcat(textString,'+')set(handles.text1,'String',textString)function pushbutton12_Callback(hObject, eventdata, handles) textString=get(handles.text1,'String')textString=strcat(textString,'-')set(handles.text1,'String',textString)function pushbutton13_Callback(hObject, eventdata, handles) textString=get(handles.text1,'String')textString=strcat(textString,'*')set(handles.text1,'String',textString)function pushbutton14_Callback(hObject, eventdata, handles) textString=get(handles.text1,'String')textString=strcat(textString,'/')set(handles.text1,'String',textString)function pushbutton15_Callback(hObject, eventdata, handles)textString=strcat(textString,'.')set(handles.text1,'String',textString)按键“=”:function pushbutton16_Callback(hObject, eventdata, handles) textString=get(handles.text1,'String')s=eval(textString)set(handles.text1,'String',s)按键“x^2”:function pushbutton17_Callback(hObject, eventdata, handles) textString=get(handles.text1,'String')textString=strcat(textString,'^2')set(handles.text1,'String',textString)退位键“←back”:function pushbutton18_Callback(hObject, eventdata, handles) textString=get(handles.text1,'String')w=length(textString)t=char(textString)textString=t(1:w-1)set(handles.text1,'String',textString)清空键:function pushbutton19_Callback(hObject, eventdata, handles) set(handles.text1,'String','')退出键:function pushbutton20_Callback(hObject, eventdata, handles) close(gcf);% hObject handle to pushbutton20 (see GCBO)% handles structure with handles and user data (see GUIDATA)科学计算函数:按键“√”:通过get函数获得输入的字符,函数strread获得输入字符,并用sqrt 函数计算结果,set函数进行显示输出textString = get(handles.text1,'String');if(strcmp(textString,'0')==1)set(handles.text1,'String','0') ;elsea = strread(textString, '%f');a=sqrt(a);set(handles.text1,'String',a)end按键“sin”(通过get函数获得输入的字符,函数strread获得输入字符,并用sin函数计算结果,set函数进行显示输出):textString = get(handles.text1,'String');textString = strcat(textString,'sin(');set(handles.text1,'String',textString)按键“cos”:textString = get(handles.text1,'String');textString = strcat(textString,'(');set(handles.text1,'String',textString)按键“tan”:textString = get(handles.text1,'String');if((strcmp(textString,'1.57')==1)||(strcmp(textString,'-1.57')==1)) set(handles.edit1,'String','inf');elsetextString = strcat(textString,'tan(');set(handles.text1,'String',textString)end按键“arcsin”:textString = get(handles.text1,'String');textString = strcat(textString,'asin(');set(handles.text1,'String',textString)按键“arccos”:textString = get(handles.text1,'String'); textString = strcat(textString,'acos('); set(handles.text1,'String',textString)按键“arctan”:textString = get(handles.text1,'String'); textString = strcat(textString,'atan('); set(handles.text1,'String',textString)按键“log2”:textString = get(handles.text1,'String'); if(strcmp(textString,'0')==1)set(handles.text1,'String','error') ; elsea = strread(textString, '%f');a=log2(a);set(handles.text1,'String',a)end按键“(”:textString = get(handles.text1,'String'); textString = strcat(textString,' (');set(handles.text1,'String',textString)按键“)”:textString = get(handles.text1,'String'); textString = strcat(textString,')');set(handles.text1,'String',textString)按键“二进制数转十进制数”:textString=get(handles.text1,'String')e = bin2dec(textString);set(handles.text1,'String',e);按键“十进制数转二进制数”:textString = get(handles.text1,'String'); textString = strcat(textString,'dec2bin('); set(handles.text1,'String',textString)四、问题和解决方法1.本次课程设计中开始时遇到的问题是数据进行清零后,再输入其他的数据,清零后的字符‘0’仍会保留,会影响其他数据,解决办法是将数据用空格替换掉就实现了清空: set(handles.text1,'String','')2.在定义正弦余弦等函数的时候,需要注意其定义域,值域的问题。

相关文档
最新文档