基于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。

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

(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-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实验指导书(DOC)

MATLAB实验指导书(DOC)

MATLAB实验指导书(DOC)MATLAB实验指导书前⾔MATLAB程序设计语⾔是⼀种⾼性能的、⽤于科学和技术计算的计算机语⾔。

它是⼀种集数学计算、分析、可视化、算法开发与发布等于⼀体的软件平台。

⾃1984年MathWorks公司推出以来,MATLAB以惊⼈的速度应⽤于⾃动化、汽车、电⼦、仪器仪表和通讯等领域与⾏业。

MATLAB有助于我们快速⾼效地解决问题。

MATLAB相关实验课程的学习能加强学⽣对MATLAB程序设计语⾔理解及动⼿能⼒的训练,以便深⼊掌握和领会MATLAB应⽤技术。

⽬录基础型实验............................................................................................ - 1 - 实验⼀MATLAB集成环境使⽤与基本操作命令练习............. - 1 - 实验⼆MATLAB中的数值计算与程序设计 ............................. - 7 - 实验三MATLAB图形系统......................................................... - 9 -基础型实验实验⼀ MATLAB 集成环境使⽤与基本操作命令练习⼀实验⽬的熟悉MATLAB 语⾔编程环境;熟悉MATLAB 语⾔命令⼆实验仪器和设备装有MATLAB7.0以上计算机⼀台三实验原理MATLAB 是以复杂矩阵作为基本编程单元的⼀种程序设计语⾔。

它提供了各种矩阵的运算与操作,并有较强的绘图功能。

1.1基本规则1.1.1 ⼀般MATLAB 命令格式为[输出参数1,输出参数2,……]=(命令名)(输⼊参数1,输⼊参数2,……)输出参数⽤⽅括号,输⼊参数⽤圆括号如果输出参数只有⼀个可不使⽤括号。

1.1.2 %后⾯的任意内容都将被忽略,⽽不作为命令执⾏,⼀般⽤于为代码加注释。

MATLAB简易计时器课程设计

MATLAB简易计时器课程设计

MATLAB简易计时器课程设计一、课程目标知识目标:1. 掌握MATLAB软件的基本操作和界面;2. 学习计时器功能的相关函数及参数设置;3. 了解程序设计中的循环结构和条件判断语句;4. 理解计时器在实际应用中的重要性。

技能目标:1. 能够独立编写简易计时器程序,实现倒计时、正计时等功能;2. 能够运用循环结构和条件判断语句优化程序,提高程序执行效率;3. 能够对程序进行调试和修改,解决常见的问题;4. 学会查阅MATLAB帮助文档,获取所需函数和参数信息。

情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习动力;2. 培养学生面对问题时的耐心和解决问题的能力;3. 培养学生团队协作意识,学会分享和交流;4. 增强学生对科技创新的认识,提高创新精神。

本课程针对高年级学生,结合学科特点和教学要求,设计上述课程目标。

通过本课程的学习,学生将能够掌握MATLAB简易计时器的编程方法,提高编程能力和实际问题解决能力,同时培养积极的学习态度和团队协作精神。

为实现课程目标,后续教学设计和评估将围绕具体学习成果展开,确保课程的有效性和实用性。

二、教学内容1. MATLAB软件入门- 软件安装与界面认识- 基本操作与命令行使用2. 程序设计基础- 变量与数据类型- 流程控制(循环结构、条件判断语句)3. 计时器功能实现- 相关函数(如tic、toc、pause等)- 参数设置与程序优化4. 简易计时器编程实践- 倒计时与正计时实现- 用户交互与界面设计5. 程序调试与优化- 常见错误类型与解决方法- 调试工具与性能分析6. 综合应用与拓展- 计时器在其他领域的应用案例- 创新设计与功能拓展教学内容根据课程目标,结合教材章节进行组织,确保科学性和系统性。

教学大纲安排如下:- 第一节课:MATLAB软件入门及基本操作- 第二节课:程序设计基础与流程控制- 第三节课:计时器功能相关函数学习与实践- 第四节课:简易计时器编程实践与调试- 第五节课:综合应用与拓展教学内容按照以上进度进行,使学生在系统的教学过程中,逐步掌握简易计时器的编程方法,提高实际应用能力。

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简易计算器设计步骤与回调函数设计说明

简易算术计算器的设计一、算术计算器的功能:能进行简单的加、减、乘、除法运算,输入文本框显示为常量多项式,输出文本框显示为精确到小数点后十位的数值。

计算器包含十个数字键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按键,调整控件布局。

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

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

一、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)二、计算器的使用 (6)除法运算(÷) (6)平方运算(^2) (6)函数cos (∏/3)的计算 (7)函数arctan (∏/3)的计算 (7)以2为底的对数的计算(log 2) (8)十进制数转二进制数的计算(调用dec2bin函数) (8)二进制数转十进制数的计算(调用bin2dec函数) (8)三、附各按键的程序源代码 (9)四、问题和解决方法 (15)五、心得体会 (15)参考文献 (15)计算器的效果图:一、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')set(handles.text1,'String',textString)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=get(handles.text1,'String')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.在定义正弦余弦等函数的时候,需要注意其定义域,值域的问题。

相关文档
最新文档