基于matlab的计算器制作
matlab中gui设计计算器原理及设计方案
![matlab中gui设计计算器原理及设计方案](https://img.taocdn.com/s3/m/c4cf394e773231126edb6f1aff00bed5b9f37316.png)
matlab中gui设计计算器原理及设计方案在MATLAB中设计GUI(图形用户界面)计算器的基本原理和设计方案如下:基本原理:MATLAB的GUI设计基于事件驱动模型。
这意味着当用户与界面交互(例如,点击按钮或输入文本)时,会触发一个或多个事件。
这些事件会调用相应的回调函数,执行相应的操作。
设计方案:1. 启动MATLAB并创建GUI:打开MATLAB。
使用guide命令启动GUI设计器。
2. 添加GUI组件:在GUI设计器中,添加需要的组件,如按钮(push button)、文本框(edit text)、标签(label)等。
3. 设置组件属性:为每个组件设置必要的属性,例如位置、大小、标签文本等。
4. 编写回调函数:双击每个组件,MATLAB会自动生成一个默认的回调函数。
根据需要修改这些函数,以实现所需的功能。
例如,对于按钮,当用户点击它时,可以编写代码来执行相应的计算。
5. 测试GUI:在设计过程中,经常测试GUI以确保其正常工作。
可以使用simulink中的模拟功能,或直接在MATLAB环境中测试。
6. 保存和运行:保存GUI文件。
在MATLAB命令窗口中输入文件名(不包括扩展名),然后按Enter运行GUI。
7. 调试和优化:根据测试结果,调整回调函数和组件属性,优化GUI的行为和外观。
8. 发布:一旦GUI满足所有需求,可以发布它以供其他人使用。
这通常涉及将GUI打包为一个可执行文件或应用程序包。
9. 维护和更新:随着软件的发展,可能需要定期维护和更新GUI。
这可能涉及添加新功能、修复错误或改进性能。
在整个过程中,熟悉MATLAB的GUI设计和编程技巧是非常重要的。
此外,由于GUI设计可能需要反复的测试和调整,因此耐心和细心也是必不可少的。
《MATLAB语言及仿真》计算器界面设计一
![《MATLAB语言及仿真》计算器界面设计一](https://img.taocdn.com/s3/m/ca577ff38ad63186bceb19e8b8f67c1cfad6ee98.png)
《MATLAB语言及仿真》计算器界面设计
一、主要工作原理(一级标题字体为小四宋)
1.1Matlab是一种高级的数学计算软件,它的原理是基于矩阵运算和数值计算的。
Matlab 的核心是一个解释器,它可以解释 Matlab语言中的命令,并将其转换为计算机可以理解的指令。
Matlab 的语言是一独高级的编程语言,它可以进行数值计算、数据分析、图形绘制等多种操作。
二、设计方案
2.1首先用MATLAB GUI 功能,在绘制一个静态文本框和一个文本编辑框,以及32个命令按钮,调整好各控件大小、颜色,整体布局如图所示:
2.2然后通过双击个按钮来改写其属性,在m文件中编写其回调函数,最后在运行调试。
三、详细内容(包括图形、代码、文字描述等内容)
GUI设计界面:
1
算法设计:0——9以及小数点函数都一样,只是参数不同:
2
四则运算:
清屏键:
四、总结
通过本次的MATLAB课程设计,让我对MATLAB尤其是其GUI设计的功能有了进一步的了解,认识到了它功能的强大。
在MATLAB简单计算器的设计中,了解了关于MATLAB图形用户界面的部分控件的使用方法;利用MATLAB的GUI提供的很多实用的控件,方便用于设计属于自己的图形界面。
3。
基于MATLAB的计算器设计
![基于MATLAB的计算器设计](https://img.taocdn.com/s3/m/76f0446a68eae009581b6bd97f1922791788be7b.png)
2021.07科学技术创新大数据时代,时时刻刻都在和数据打交道。
为了解决人们在学习、生活以及工作中遇到的一些常见的数据计算问题,利用MATLAB 设计出一款实用的、简单的计算器。
该计算器的操作过程很简单,只需使用者按下相应按钮,便能轻松解决以下问题:四则运算、对数运算、指数运算、开平方运算等。
1MATLAB GUI 简介MATLAB GUI 是指采用图形方式显示的计算机操作用户界面,是MATLAB 用户可视化交互式的工具,运用GUI 生成的操作界面,避免了用户浏览繁冗的代码进行操作。
实现了基于MATLAB GUI 的计算器功能的设计。
2计算器的设计过程及功能验证2.1计算器设计流程设计计算器,首先用MATLAB GUI 设计一个计算器界面,这个界面要包括加减乘除、三角函数、对数等按钮,然后编辑程序实现相应的功能,最后进行功能验证。
流程如图1所示。
图1计算器设计流程图2.2计算器界面设计在MATLAB 中新建一个GUI 界面,在GUI 界面上绘制一个面板,面板上绘制一个静态文本框用来显示输入和输出,再绘制30个按钮,每个按钮代表一种功能,双击按钮调出按钮的属性检查器,将按钮代表的功能标注在按钮上,最后调整按钮的大小和颜色、面板的颜色以及整体的布局使计算器看起来更美观,界面如图2所示:图2计算器界面图3输入数据基于MATLAB 的计算器设计Calculator Design Based on MATLAB赵海君赵青云(山西师范大学物理与信息工程学院,山西临汾041004)摘要:论文设计基于MATLAB 的多功能计算器,运用MATLAB 的GUI 设计计算器界面,通过编写程序实现四则运算、指数运算、对数运算、正余弦运算等功能。
关键词:MATLAB ;计算器;GUI Abstract :This paper designs a multi-function calculator based on MATLAB,uses Matlab GUI to design the calculator interface,and realizes four arithmetic operations,exponential operation,logarithm operation,sine cosine operation and other functions by programming.Key words :MATLAB;Calculator;GUI中图分类号:TP311.1文献标识码:A 文章编号:2096-4390(2021)07-0089-02教改项目:2018年山西师范大学校级教改项目“学生工程素质的培养在《传感器技术》课程教改中的实践”(2018JGXM-43),赵青云。
基于matlab的课程课时计算器设计
![基于matlab的课程课时计算器设计](https://img.taocdn.com/s3/m/7840efee85254b35eefdc8d376eeaeaad1f316dc.png)
基于matlab的课程课时计算器设计设计一个基于MATLAB的课程课时计算器,可以用来计算课程总时间、每周课时和平均每节课的时间。
这个计算器可以帮助老师或学生更好地管理课程时间,确保每个课程的时间安排合理。
首先,我们需要用户输入每个课程的名称、每周上课次数和每节课的时间。
为了实现这个功能,我们可以使用MATLAB中的输入函数来获取用户的输入信息。
接下来,我们需要将用户输入的信息存储在一个数组中,以便于后面的计算。
我们可以使用MATLAB中的数据结构来实现这个功能。
具体来说,我们可以创建一个结构体数组,每个结构体包含课程的名称、每周上课次数和每节课的时间。
在计算过程中,我们需要用到循环语句来遍历结构体数组并进行计算。
我们可以使用for或while循环来实现这个功能。
首先,我们可以使用for循环来遍历结构体数组并计算课程总时间。
在每次迭代中,我们可以将每个课程的每周上课次数乘以每节课的时间,然后将结果累加到一个变量中。
接下来,我们可以使用同样的方法使用for循环来计算每周总课时。
在每次迭代中,我们可以将每个课程的每周上课次数累加到一个变量中。
最后,我们可以根据前两个计算结果计算平均每节课的时间。
我们可以将总时间除以总课时,得到每节课的平均时间。
在计算完成后,我们可以使用MATLAB中的输出函数来显示计算结果,并保存在一个文件中以便之后查看。
此外,我们还可以考虑一些额外的功能来提升这个计算器的实用性。
例如,我们可以添加一个课程表功能,让用户可以方便地查看每天的课程安排。
我们还可以添加一个报警功能,当用户接近或超过每周总课时限制时,系统可以发出提醒。
这些功能可以通过使用MATLAB中的图形用户界面(GUI)来实现。
综上所述,一个基于MATLAB的课程课时计算器可以帮助用户更好地管理课程时间。
通过输入课程的名称、每周上课次数和每节课的时间,计算器可以计算总时间、每周总课时和平均每节课的时间。
同时,通过添加额外的功能如课程表和报警功能,计算器的实用性可以进一步提升。
基于matlab的计算器制作
![基于matlab的计算器制作](https://img.taocdn.com/s3/m/5b1512e1ba0d4a7303763a15.png)
基于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、框架准备‘加法器’:使用静态文本,在 string 处将文本修改为(加法器),在 fontsize可修改字体大小,在BackgroundColor处可修改背景颜色。
基于MATLAB的简易矩阵计算器
![基于MATLAB的简易矩阵计算器](https://img.taocdn.com/s3/m/0f11b6016c175f0e7cd137a9.png)
《MATLAB程序设计》程序设计报告设计题目:简易矩阵计算器班级:021231******学号:********目录1.设计目标……………………2.设计内容……………………3.设计思想……………………4.设计说明……………………5.设计步骤及程序代码……………………6.运行计算器……………………7.总结…………………………1.设计目标1.熟悉MATLAB的主要控件使用方法。
2.熟悉MATLAB的GUI设计流程。
2.设计内容设计一个简易的矩阵计算器,通过对简单应用矩阵计算器的设计,编制、调试实现矩阵相加减,矩阵的转置等简单运算,以学习应用MATLAB编写程序原理,加深对MATLAB的学习及应用。
3.设计思想基于MATLAB中GUI界面的设计,通过创建类成员函数成员变量,编辑控件创建消息映射,调用信息函数完成数据的输入输出,实现计算功能。
生成简单的应用软件。
4.设计说明1)包含的功能有:加、减、乘、转置等。
2)输入的原始数据分别为A或B矩阵,分别显示在不同标签中,运算的结果则显示在输出部分。
3)计算功能基本上是用系统内部函数。
4)程序能够自动判断输入数据的正确性,如不能输入(1)。
5.设计步骤及只要代码1)打开MATLAB,点击,出现GUI的2)设计计算器版面直至3)对功能键进行设计执行A矩阵加B矩阵,其执行代码如下A = eval((get(handles.Matrix_A,'String')));B = eval((get(handles.Matrix_B,'String')));[iA jA]=size(A);[iB jB]=size(B);if iA ~= iB | jA ~= jB |(iA ~= iB & jA ~= jB) R='error.Matrix dimensions must agree.';set(handles.Answer,'string',R)guidata(hObject, handles);elseresult=A + B ;R =num2str(result);set(handles.Answer,'string',R)guidata(hObject, handles);end执行A矩阵减B矩阵,其执行代码如下A = eval((get(handles.Matrix_A,'String')));B = eval((get(handles.Matrix_B,'String')));[iA jA]=size(A);[iB jB]=size(B);if iA ~= iB | jA ~= jB |(iA ~= iB & jA ~= jB) R='error.Matrix dimensions must agree.';set(handles.Answer,'String',R)guidata(hObject, handles);elseresult = A - B ;R = num2str(result);set(handles.Answer,'String',R)guidata(hObject, handles);end执行A矩阵与B矩阵相乘,其执行代码如下A = eval((get(handles.Matrix_A,'String')));B = eval((get(handles.Matrix_B,'String')));[iA jA]=size(A);[iB jB]=size(B);if jA~=iBR='error.Inner matrix dimensions must agree.';set(handles.Answer,'String',R)guidata(hObject, handles);elseresult = A * B ;R = num2str(result);set(handles.Answer,'String',R)guidata(hObject, handles);end执行A右除B矩阵,其执行代码如下A = eval((get(handles.Matrix_A,'String')));B = eval((get(handles.Matrix_B,'String')));[iA jA]=size(A);[iB jB]=size(B);if iA~=iB 、R='error.Matrix dimensions must agree.';set(handles.Answer,'String',R)guidata(hObject, handles);elseresult = A \ B ;R = num2str(result);set(handles.Answer,'String',R)guidata(hObject, handles);end执行A.*B,其执行代码如下A = eval((get(handles.Matrix_A,'String')));B = eval((get(handles.Matrix_B,'String')));result = A .* B ;R = num2str(result);set(handles.Answer,'String',R)guidata(hObject, handles);执行A./B,其执行代码如下A = eval((get(handles.Matrix_A,'String')));B = eval((get(handles.Matrix_B,'String')));result = A ./ B ;R = num2str(result);set(handles.Answer,'String',R)guidata(hObject, handles);执行A的转置,其执行代码如下A = eval((get(handles.Matrix_A,'String')));result = A' ;R = num2str(result);set(handles.Answer,'String',R)guidata(hObject, handles);执行A右除B,其执行代码如下A = eval((get(handles.Matrix_A,'String')));B = eval((get(handles.Matrix_B,'String')));[iA jA]=size(A);[iB jB]=size(B);if iA~=iB þ R='error.Matrix dimensions must agree.';set(handles.Answer,'String',R)guidata(hObject, handles);elseresult = A / B ;R = num2str(result);set(handles.Answer,'String',R)guidata(hObject, handles);end执行求A的行列式,其执行代码如下A = eval((get(handles.Matrix_A,'String')));[iA jA]=size(A);if iA ~=jA R='error.Matrix must be square.';set(handles.Answer,'String',R)guidata(hObject, handles);elseresult = det(A) ;R = num2str(result);set(handles.Answer,'String',R)guidata(hObject, handles);end执行求A的逆,其执行代码如下A = eval((get(handles.Matrix_A,'String')));[iA jA]=size(A);if iA ~=jAR='error.Matrix must be square.';set(handles.Answer,'String',R)guidata(hObject, handles);elseif det(A) == 0R='error.Matrix is singular to working precision.';set(handles.Answer,'String',R)guidata(hObject, handles);elseresult = inv(A) ;R = num2str(result);set(handles.Answer,'String',R)guidata(hObject, handles);endend执行求A的非共轭转置,其执行代码如下A = eval((get(handles.Matrix_A,'String')));result = A.' ;R = num2str(result);set(handles.Answer,'String',R)guidata(hObject, handles);执行求解系数阵为方阵且非奇异的线性方程组,其执行代码如下A = eval((get(handles.Matrix_A,'String')));B = eval((get(handles.Matrix_B,'String')));[iA jA]=size(A);[iB jB]=size(B);if iA ~= iBR='error.';set(handles.Answer,'String',R)guidata(hObject, handles);elseif iA ~=jAR='error.Matrix must be square.';set(handles.Answer,'String',R)guidata(hObject, handles);elseif det(A) == 0R='error.Matrix is singular to working precision.';set(handles.Answer,'String',R)guidata(hObject, handles);elseresult = A\B ;R = num2str(result);set(handles.Answer,'String',R)guidata(hObject, handles);endendend执行求A的秩,其执行代码如下A = eval((get(handles.Matrix_A,'String')));result = rank(A) ;R = num2str(result);set(handles.Answer,'String',R)guidata(hObject, handles);执行求A的平方,其执行代码如下A = eval((get(handles.Matrix_A,'String')));[iA jA]=size(A);if iA ~=jAR='error.Inputs must be a scalar and a square matrix.';set(handles.Answer,'String',R)guidata(hObject, handles);elseresult = A^2 ;R = num2str(result);set(handles.Answer,'String',R)guidata(hObject, handles);end执行求A的立方,其执行代码如下A = eval((get(handles.Matrix_A,'String')));[iA jA]=size(A);if iA ~=jAR='error.Inputs must be a scalar and a square matrix.'; set(handles.Answer,'String',R)guidata(hObject, handles);elseresult = A^3 ;R = num2str(result);set(handles.Answer,'String',R)guidata(hObject, handles);end执行求A的特征值,其执行代码如下A = eval((get(handles.Matrix_A,'String')));[iA jA]=size(A);if iA ~=jAR='error.Matrix must be square.';set(handles.Answer,'String',R)guidata(hObject, handles);elseresult = eig(A) ;R = num2str(result);set(handles.Answer,'String',R)guidata(hObject, handles);end执行求A开平方根,其执行代码如下A = eval(get(handles.Matrix_A,'String'));result = sqrt(A);R = num2str(result);set(handles.Answer,'String',R)执行计算矩阵范围(默认为2范数),其执行代码如下A = eval(get(handles.Matrix_A,'String'));result = norm(A);R = num2str(result);set(handles.Answer,'String',R)guidata(hObject, handles);执行对A的分解,其执行代码如下A = eval(get(handles.Matrix_A,'String'));[L U] = lu(A);result = [L;U];R = num2str(result);set(handles.Answer,'String',R)guidata(hObject, handles);执行将矩阵A化为最简阶梯矩阵,其执行代码如下A = eval(get(handles.Matrix_A,'String'));result = rref(A);R = num2str(result);set(handles.Answer,'String',R)guidata(hObject, handles);4)对输出进行设计输出框内有新添加的,使经过计算后的式子通过输出框显示。
基于matlab的计算器编程附代码
![基于matlab的计算器编程附代码](https://img.taocdn.com/s3/m/cf83b8f14693daef5ef73d2e.png)
1.需求分析本次的实验要求是设计一个计算器,主要功能如下:(1)实现基本数学运算(加减乘除等),而且要能进行混合运算(2)实现部分函数功能,如求平方根、求倒数等(3)能实现小数运算界面与标准计算器界面类似根据要求以及以前的学习情况,决定使用matlab进行编程。
Matlab强大的计算功能以及便捷的GUI设计,可以较为简便的实现所要求的功能。
按照要求,数据输入和输出支持小数点,支持四则混合运算,决定使用如下几个数据进行分析:(1+3)*5Sqrt(4)1/2Sin4用以检验是否可以进行加减乘除四则运算、平方根、倒数、正弦的运算。
2.程序设计M atlab的程序设计较为简便,用GUI设计出一个计算器的模型,然后系统会自动生成一个框架,在框架中,写入每一个按键对应的程序就可以实现功能。
3.调式分析编程的过程中遇到的问题不是很多,基本就是找要实现各个功能的子程序,通过上网和去图书馆,加上自己的编写,终于实现了实验要求的功能。
但是有一点很重要,matlab不支持中文,所以从路径到文件名必须是全英文的,不然就无法识别。
此外,给每个按键命名也是很重要的,不然在生成的程序框架里面,就无法识别各个按键的作用,编写程序的时候也就无法做到一一对应。
4.使用说明程序的使用比较简单,由于是可视化界面,直接打开matlab,然后建立一个GUI 工程,再打开生成的fig文件,就是一个计算器的界面,直接按照市面上卖的计算器的方法,按键使用即可。
5.测试结果计算结果为204sqrt=2Sin4结果为1/2=0.5经过计算,这些结果均与实际结果相吻合,计算器的功能实现的较为完好。
6.心得体会本次试验由于不限制语言,于是计算功能强大,操作简便的matlab变成了首选,matlab的GUI设计,操作是较为简单的,首先建立一个GUI工程,然后用可视化界面,设计出计算器的大致外观,为每一个按键设置预计的功能,然后就是将对应的函数写到框架生成的程序中,然后每个按键就可以实现对应的功能。
用MATLAB做的 一个计算器
![用MATLAB做的 一个计算器](https://img.taocdn.com/s3/m/e5edb5f7910ef12d2af9e77c.png)
一、布局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制作简单计算器](https://img.taocdn.com/s3/m/c3c0c0b6bed5b9f3f80f1c95.png)
用M A T L A B制作简单计算器Company number:【0089WT-8898YT-W8CCB-BUUT-202108】安阳工学院电子信息与电气工程学院《MATLAB编程与应用》课程大作业题目:用MATLAB制作简单计算器班级:电子信息工程(专升本)教师成绩由以下评分标准累计得出1、设计和仿真结果正确,分析清晰合理。
40%2、大作业报告重点突出、阐述清晰。
30%3、陈述清晰正确、有说服力,能够正确回答问题。
30%总分(上述成绩由教师填写)学生自评分值(该表格全部由学生填写)大作业总成绩(该表格“姓名”和“学号”由学生填写,“成绩”由教师填写)1.计任务: 1、熟悉MATLAB的主要控件使用方法。
2、熟悉MATLAB的GUI设计流程。
2.设计方案利用MATLAB GUI设计实现一个图形用户界面的计算器程序,要求实现:A.实现十进制数的加、减、乘、除、简单计算。
B. 科学计算函数,包括正弦、余弦、正切、(余切、开方、指数等函数运行。
C. 能够保存上次历史计算的答案,先是答案存储器中得内容。
D. 有清除键,能清除操作。
3.方案实施通过MATLAB的gui程序设计较为简单,在gui设计中主要用到两种控件,显示框用到文本编辑框(edit text),说明框用到静态文本框(Static text),数字以及运算等按钮用到命令按钮(push button)。
然后在通过各个按钮的回调函数,实现简单的计算功能。
4.方案施舍首先用MATLAB GUI功能,在绘制一个静态文本框和一个文本编辑框,以及24个命令按钮,调整好各控件大小、颜色,整体布局如图所示:图-1一、布局GUI1.打开Matlab,输入Guide 回车或者在工具栏上点击图标出现Guide 窗口:图–22.然后双击“Blank GUI(Default)”出现GUI窗口图-33.添加按钮图-44.根据按钮的作用及视觉效果做一定的修改把按钮的字符串大小、颜色进行设置,对按钮的位置进行排布,尽量使按钮集中在静态文本框下面。
用MATLAB做一个计算器包括加减乘除平方清空等功能6页
![用MATLAB做一个计算器包括加减乘除平方清空等功能6页](https://img.taocdn.com/s3/m/9aae2167c281e53a5902ff7f.png)
广西科技大学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数字按键下编写此类程序。
用MATLAB制作简单计算器
![用MATLAB制作简单计算器](https://img.taocdn.com/s3/m/3f64b5586f1aff00bed51efc.png)
用MATLAB制作简单计算器安阳工学院电子信息与电气工程学院《MATLAB编程与应用》课程大作业题目:用MATLAB制作简单计算器班级:电子信息工程(专升本)教师成绩由以下评分标准累计得出1、设计和仿真结果正确,分析清晰合理。
40%2、大作业报告重点突出、阐述清晰。
30%3、陈述清晰正确、有说服力,能够正确回答问题。
30%总分(上述成绩由教师填写)大作业总成绩(该表格“姓名”和“学号”由学生填写,“成绩”由教师填1.计任务: 1、熟悉MATLAB的主要控件使用方法。
2、熟悉MATLAB的GUI设计流程。
2.设计方案利用MATLAB GUI设计实现一个图形用户界面的计算器程序,要求实现:A.实现十进制数的加、减、乘、除、简单计算。
B. 科学计算函数,包括正弦、余弦、正切、(余切、开方、指数等函数运行。
C. 能够保存上次历史计算的答案,先是答案存储器中得内容。
D. 有清除键,能清除操作。
3.方案实施通过MATLAB的gui程序设计较为简单,在gui设计中主要用到两种控件,显示框用到文本编辑框(edit text),说明框用到静态文本框(Static text),数字以及运算等按钮用到命令按钮(push button)。
然后在通过各个按钮的回调函数,实现简单的计算功能。
4.方案施舍首先用MATLAB GUI功能,在绘制一个静态文本框和一个文本编辑框,以及24个命令按钮,调整好各控件大小、颜色,整体布局如图所示:图-1一、布局GUI1.打开Matlab,输入Guide 回车或者在工具栏上点击图标出现Guide 窗口:图–22.然后双击“Blank GUI(Default)”出现GUI窗口图-33.添加按钮图-44.根据按钮的作用及视觉效果做一定的修改把按钮的字符串大小、颜色进行设置,对按钮的位置进行排布,尽量使按钮集中在静态文本框下面。
最终设置的静态文本框为白色,其他按钮均为分红色。
5.保存、添加功能函数把做好的按钮及静态文本框保存后自动弹出Editor的M文本,对然后对相应的pushbutton添加功能函数。
基于MATLAB的多功能计算器设计与实现
![基于MATLAB的多功能计算器设计与实现](https://img.taocdn.com/s3/m/ffffdb7eed630b1c59eeb56d.png)
基于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的多功能计算器设计的目的和意义当今时代是一个信息化的时代,信息化的时代到处充满了数据,生活在这个信息化时代的人们,无论人们在做什么行业,都需要时时刻刻跟数据打交道。
matlab制作的简易计算器
![matlab制作的简易计算器](https://img.taocdn.com/s3/m/c9cd63f2941ea76e58fa043b.png)
Matlab大作业——简易计算器一.实现的功能简易计算器能够计算简单的加减乘除,能够将计算过程和结果显示出来,并且能够清空和删除数字。
二.实现方式通过Matlab中的GUI接口设计这个简易计算器,通过GUI中的pushbottom设计输入数字的键和加减乘除等于等键,然后通过edit text设计显示屏。
更改回调函数实现相关的计算功能。
三.程序分析0~9数字键的代码设置%全局变量locaval用于存储用户输入的多位数值%全局变量gloval2用于存储待处理的第二位数值function pushbutton1_Callback(hObject, eventdata, handles)global locaval;a = get(handles.pushbutton1,'String');locaval=strcat(locaval,a);set(handles.text1,'String',locaval);global gloval2gloval2=locaval;guidata(hObject, handles);加减乘除键的代码设置%全局变量flagnum存储运算符标志%全局变量global1用于储存第一个待处理数值function pushbutton10_Callback(hObject, eventdata, handles)a = get(handles.pushbutton10,'String');b = get(handles.text1,'String');set(handles.text1,'String',a);global flagnumglobal gloval1global locavallocaval=' ';flagnum=1;gloval1=b;guidata(hObject, handles);等号键功能的实现%根据flagnum运算标志用switch决策语句实现相应计算%需注意相应数据类型的转化function pushbutton17_Callback(hObject, eventdata, handles) global flagnumglobal gloval1global gloval2global locavallocaval=' ';gloval1=str2num(gloval1);gloval2=str2num(gloval2);case1=gloval1/gloval2;case2=gloval1*gloval2;case3=gloval1-gloval2;case4=gloval1+gloval2;case1=num2str(case1);case2=num2str(case2);case3=num2str(case3);case4=num2str(case4);switch flagnum;case 1set(handles.text1,'String',case1);case 2set(handles.text1,'String',case2);case 3set(handles.text1,'String',case3);case 4set(handles.text1,'String',case4);endguidata(hObject,handles)Backspace键的代码设置%算法实现:MA TLAB是用矩阵存储数据的,相应的可以取文本框的前N-1实现其功能function pushbutton19_Callback(hObject, eventdata, handles)textString = get(handles.text1,'String');if(strcmp(textString,'0.')==1)set(handles.text1,'String','0.') ;elsess=char(textString);l=length(textString);textString=ss(1:l-1);set(handles.text1,'String',textString)endguidata(hObject,handles)清除按钮函数function pushbutton20_Callback(hObject, eventdata, handles)global locavallocaval=' ';set(handles.text1,'String','0.');guidata(hObject,handles)四.程序展示function varargout = jisuanji(varargin)% JISUANJI MATLAB code for jisuanji.fig% JISUANJI, by itself, creates a new JISUANJI or raises the existing% singleton*.%% H = JISUANJI returns the handle to a new JISUANJI or the handle to% the existing singleton*.%% JISUANJI('CALLBACK',hObject,eventData,handles,...) calls the local% function named CALLBACK in JISUANJI.M with the given input arguments.%% JISUANJI('Property','Value',...) creates a new JISUANJI or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before jisuanji_OpeningFcn gets called. An % unrecognized property name or invalid value makes propertyapplication% stop. All inputs are passed to jisuanji_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 edit1 to modify the response to help jisuanji% Last Modified by GUIDE v2.5 04-Jun-2013 16:55:11% Begin initialization code - DO NOT EDITglobal gloval1;global gloval2;global flagnum;global locaval;gui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @jisuanji_OpeningFcn, ...'gui_OutputFcn', @jisuanji_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 jisuanji is made visible.function jisuanji_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 jisuanji (see VARARGIN)% Choose default command line output for jisuanjihandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes jisuanji wait for user response (see UIRESUME)% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line. function varargout = jisuanji_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;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 edit1 % str2double(get(hObject,'String')) returns contents of edit1 as a doubleglobal locavallocaval=str2num(locaval);locaval=1/locaval;set(handles.edit1,'String',locaval);locaval=' ';guidata(hObject,handles)% --- 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 CreateFcnscalled% 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 pushbutton3.function pushbutton3_Callback(hObject, eventdata, handles)% hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global locaval;a = get(handles.pushbutton3,'String');locaval=strcat(locaval,a);set(handles.edit1,'String',locaval);global gloval2gloval2=locaval;guidata(hObject, handles);% --- Executes on button press in pushbutton4.function pushbutton4_Callback(hObject, eventdata, handles)% hObject handle to pushbutton4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global locaval;a = get(handles.pushbutton4,'String');locaval=strcat(locaval,a);set(handles.edit1,'String',locaval);global gloval2gloval2=locaval;guidata(hObject, handles);% --- Executes on button press in pushbutton5.function pushbutton5_Callback(hObject, eventdata, handles)% hObject handle to pushbutton5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global locaval;a = get(handles.pushbutton5,'String');locaval=strcat(locaval,a);set(handles.edit1,'String',locaval);global gloval2gloval2=locaval;guidata(hObject, handles);% --- Executes on button press in pushbutton6.function pushbutton6_Callback(hObject, eventdata, handles)% hObject handle to pushbutton6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)a = get(handles.pushbutton6,'String');b = get(handles.edit1,'String');set(handles.edit1,'String',a);global flagnumglobal gloval1global locavallocaval=' ';flagnum=1;gloval1=b;guidata(hObject, handles);% --- Executes on button press in pushbutton7.function pushbutton7_Callback(hObject, eventdata, handles)% hObject handle to pushbutton7 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global locaval;a = get(handles.pushbutton7,'String');locaval=strcat(locaval,a);set(handles.edit1,'String',locaval);global gloval2gloval2=locaval;guidata(hObject, handles);% --- Executes on button press in pushbutton8.function pushbutton8_Callback(hObject, eventdata, handles)% hObject handle to pushbutton8 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global locaval;a = get(handles.pushbutton8,'String');locaval=strcat(locaval,a);set(handles.edit1,'String',locaval);global gloval2gloval2=locaval;guidata(hObject, handles);% --- Executes on button press in pushbutton9.function pushbutton9_Callback(hObject, eventdata, handles)% hObject handle to pushbutton9 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global locaval;a = get(handles.pushbutton9,'String');locaval=strcat(locaval,a);set(handles.edit1,'String',locaval);global gloval2gloval2=locaval;guidata(hObject, handles);% --- Executes on button press in pushbutton10.function pushbutton10_Callback(hObject, eventdata, handles)% hObject handle to pushbutton10 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)a = get(handles.pushbutton10,'String');b = get(handles.edit1,'String');set(handles.edit1,'String',a);global flagnumglobal gloval1global locavallocaval=' ';flagnum=2;gloval1=b;guidata(hObject, handles);% --- Executes on button press in pushbutton11.function pushbutton11_Callback(hObject, eventdata, handles)% hObject handle to pushbutton11 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global locaval;a = get(handles.pushbutton11,'String');locaval=strcat(locaval,a);set(handles.edit1,'String',locaval);global gloval2gloval2=locaval;guidata(hObject, handles);% --- Executes on button press in pushbutton12.function pushbutton12_Callback(hObject, eventdata, handles)% hObject handle to pushbutton12 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global locaval;a = get(handles.pushbutton12,'String');locaval=strcat(locaval,a);set(handles.edit1,'String',locaval);global gloval2gloval2=locaval;guidata(hObject, handles);% --- Executes on button press in pushbutton13.function pushbutton13_Callback(hObject, eventdata, handles)% hObject handle to pushbutton13 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global locaval;a = get(handles.pushbutton13,'String');locaval=strcat(locaval,a);set(handles.edit1,'String',locaval);global gloval2gloval2=locaval;guidata(hObject, handles);% --- Executes on button press in pushbutton14.function pushbutton14_Callback(hObject, eventdata, handles)% hObject handle to pushbutton14 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)a = get(handles.pushbutton14,'String');b = get(handles.edit1,'String');set(handles.edit1,'String',a);global flagnumglobal gloval1global locavallocaval=' ';flagnum=3;gloval1=b;guidata(hObject, handles);% --- Executes on button press in pushbutton16.function pushbutton16_Callback(hObject, eventdata, handles)% hObject handle to pushbutton16 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)a = get(handles.pushbutton16,'String');b = get(handles.edit1,'String');set(handles.edit1,'String',a);global flagnumglobal gloval1global locavallocaval=' ';flagnum=4;gloval1=b;guidata(hObject, handles);% --- Executes on button press in pushbutton17.function pushbutton17_Callback(hObject, eventdata, handles)% hObject handle to pushbutton17 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global locaval;a = get(handles.pushbutton17,'String');locaval=strcat(locaval,a);set(handles.edit1,'String',locaval);global gloval2gloval2=locaval;guidata(hObject, handles);% --- Executes on button press in pushbutton18.function pushbutton18_Callback(hObject, eventdata, handles)% hObject handle to pushbutton18 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global flagnumglobal gloval1global gloval2global locavallocaval=' ';gloval1=str2num(gloval1);gloval2=str2num(gloval2);case1=gloval1/gloval2;case2=gloval1*gloval2;case3=gloval1-gloval2;case4=gloval1+gloval2;case1=num2str(case1);case2=num2str(case2);case3=num2str(case3);case4=num2str(case4);switch flagnum;case 1set(handles.edit1,'String',case1);case 2set(handles.edit1,'String',case2);case 3set(handles.edit1,'String',case3);case 4set(handles.edit1,'String',case4);endguidata(hObject,handles)% --- Executes on button press in pushbutton19.function pushbutton19_Callback(hObject, eventdata, handles)% hObject handle to pushbutton19 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) edit1String = get(handles.edit1,'String');if(strcmp(edit1String,'0.')==1)set(handles.edit1,'String','0.') ;elsess=char(edit1String);l=length(edit1String);edit1String=ss(1:l-1);set(handles.edit1,'String',edit1String)endguidata(hObject,handles)% --- Executes on button press in pushbutton20.function pushbutton20_Callback(hObject, eventdata, handles)% hObject handle to pushbutton20 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global locavallocaval=' ';set(handles.edit1,'String','0');guidata(hObject,handles)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五.结果展示。
MATLAB做简易计算器
![MATLAB做简易计算器](https://img.taocdn.com/s3/m/d799e208964bcf84b9d57be1.png)
MATLAB做简易计算器1、数字键的编写:textstring=get(handles.text1,'string');textstring=strcat(textstring,'0');set(handles.text1,'string',textstring);这是使用句柄handles指向对象text1,并以字符串形式来存储数据文本框text1的内容,并存储数个“0”,然后由set(handles.text1,'String','textString')在text1中输出。
同理,1~9也是这样实现。
2、符号键:textstring=get(handles.text1,'string');textstring=strcat(textstring,'+');set(handles.text1,'string',textstring);strcat的作用是将两个字符串连接起来,就是在已输入的存储数据textString后添加“+”进行运算。
然后执行set(handles.text1,'String',textString)。
符号键‘-’、‘*’、‘/’与‘+’的运算函数类似。
3、等于键:textstring=get(handles.text1,'string');s=eval(textstring);set(handles.text1,'string',s);“eval”的作用是将符号表达式转换成数值表达式。
再由set(handles.text1,'String',s)输出4、清除键:set(handles.text1,'string',' ');计算器使用:‘+’‘=’后:源程序:function varargout = jisuanqi(varargin)% JISUANQI MATLAB code 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 propertyapplication% 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 04-May-2015 16:44:30% 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)% 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 pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles)textstring=get(handles.text1,'string');textstring=strcat(textstring,'1');set(handles.text1,'string',textstring);% hObject handle to pushbutton1 (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 pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles)textstring=get(handles.text1,'string');textstring=strcat(textstring,'2');set(handles.text1,'string',textstring);% hObject handle to pushbutton2 (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 pushbutton3.function pushbutton3_Callback(hObject, eventdata, handles)textstring=get(handles.text1,'string');textstring=strcat(textstring,'3');set(handles.text1,'string',textstring);% hObject handle to pushbutton3 (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 pushbutton4.function pushbutton4_Callback(hObject, eventdata, handles)textstring=get(handles.text1,'string');textstring=strcat(textstring,'+');set(handles.text1,'string',textstring);% hObject handle to pushbutton4 (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 pushbutton9.function pushbutton9_Callback(hObject, eventdata, handles)textstring=get(handles.text1,'string');textstring=strcat(textstring,'4');set(handles.text1,'string',textstring);% hObject handle to pushbutton9 (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 pushbutton10.function pushbutton10_Callback(hObject, eventdata, handles) textstring=get(handles.text1,'string');textstring=strcat(textstring,'5');set(handles.text1,'string',textstring);% hObject handle to pushbutton10 (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 pushbutton11.function pushbutton11_Callback(hObject, eventdata, handles) textstring=get(handles.text1,'string');textstring=strcat(textstring,'6');set(handles.text1,'string',textstring);% hObject handle to pushbutton11 (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 pushbutton12.function pushbutton12_Callback(hObject, eventdata, handles) textstring=get(handles.text1,'string');textstring=strcat(textstring,'-');set(handles.text1,'string',textstring);% hObject handle to pushbutton12 (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 pushbutton13.function pushbutton13_Callback(hObject, eventdata, handles) textstring=get(handles.text1,'string');textstring=strcat(textstring,'7');set(handles.text1,'string',textstring);% hObject handle to pushbutton13 (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 pushbutton14.function pushbutton14_Callback(hObject, eventdata, handles) textstring=get(handles.text1,'string');textstring=strcat(textstring,'8');set(handles.text1,'string',textstring);% hObject handle to pushbutton14 (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 pushbutton15.function pushbutton15_Callback(hObject, eventdata, handles) textstring=get(handles.text1,'string');textstring=strcat(textstring,'9');set(handles.text1,'string',textstring);% hObject handle to pushbutton15 (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 pushbutton16.function pushbutton16_Callback(hObject, eventdata, handles) textstring=get(handles.text1,'string');textstring=strcat(textstring,'*');set(handles.text1,'string',textstring);% hObject handle to pushbutton16 (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 pushbutton17.function pushbutton17_Callback(hObject, eventdata, handles);set(handles.text1,'string',' ');% hObject handle to pushbutton17 (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 pushbutton18.function pushbutton18_Callback(hObject, eventdata, handles) textstring=get(handles.text1,'string');textstring=strcat(textstring,'.');set(handles.text1,'string',textstring);% hObject handle to pushbutton18 (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 pushbutton19.function pushbutton19_Callback(hObject, eventdata, handles) textstring=get(handles.text1,'string');s=eval(textstring);set(handles.text1,'string',s);% hObject handle to pushbutton19 (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 pushbutton20.function pushbutton20_Callback(hObject, eventdata, handles) textstring=get(handles.text1,'string');textstring=strcat(textstring,'/');set(handles.text1,'string',textstring);% hObject handle to pushbutton20 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)。
基于Matlab的简易计算器
![基于Matlab的简易计算器](https://img.taocdn.com/s3/m/8085e372f8c75fbfc67db233.png)
工程设计报告设计题目:基于Matlab的简易计算器学院:专业:班级:学号:姓名:电子:日期:2015年12 月成绩:指导教师:. 西 安 电 子 科 技 大 学 电 子 工 程 学 院 工 程 设 计 任 务 书 学生 指导教师 职称 学生学号 专业 题目 基于Matlab 的简易计算器 任务与要求 任务如下: 利用MATLAB GUI 设计实现一个图形用户界面的计算器程序,实现: A.实现十进制数的加、减、乘、除、简单计算。
B. 科学计算函数,包括正弦、余弦、正切、余切、开方、指数等函数运行。
C. 有清除键,能清除操作。
要求如下: A .熟练掌握Matlab GUI 界面的设计与应用 B .最终计算器能够实现预期的相关功能开始日期 2015年 11月 日 完成日期 2016年1月 日课程设计所在单位本表格由电子工程学院网络信息中心 编辑录入 . …………………………装………………………………订………………………………线………………………………………………………………摘要基于Matlab GUI计算器设计时利用GUI的创建图像用户界面进行计算器设计。
设计计算器时,主要是考虑到计算器的易用性、功能的常用程度进行计算器界面与功能的设计。
通过调整控件和文本的布局及颜色,使界面简单大方、布局合理,达到界面友好的效果。
计算器设计时主要利用到get和set两个函数进行各个控件属性值的传递和设置。
计算器实现的功能有:数字0~9和小数点的输入显示,平方开方和对数的输入显示。
进行四则运算、正弦函数、余弦函数、正切函数以及反正弦函数、反余弦函数、反正切函数的计算等等。
最后运行调试,实现基于Matlab GUI的计算器的设计。
关键词:Matlab GUI 计算器AbstractsBased 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,the calculation of the arctangent function and so on.Finally running debugging, implementation design based on Matlab GUI calculator.Keywords: Matlab GUI calculator目录摘要 (4)Abstracts (4)目录 (6)第一章绪论 (8)1.MATLAB简介: (8)2.本文安排: (8)第二章GUI设计界面 (10)2.1打开GUI (11)2.2.添加按钮 (11)2.3.根据按钮的作用及视觉效果做一定的修改 (11)2.4.保存、添加功能函数 (12)2.4.1 数字键编写 (12)2.4.2 符号键的编写 (13)2.4.3 运算符“=”的编写 (13)2.4.4 按键“←back”的编写 (13)2.4.5 按键“清空”的编写 (14)2.4.6 按键“退出”的编写 (14)第三章计算器的使用和抽样检验 (15)3.1 除法运算(÷) (15)3.2 平方运算(^2) (15)3.3 函数cos (∏/3)的计算 (17)3.4 函数arcsin(∏/3)的计算 (17)3.5 以2为底的对数(log 2)的计算 (18)3.6 总结: (18)第四章特殊函数的源代码及总结 (19)函数代码及思路: (19)总结:问题及其优化 (21)第五章心得体会 (22)参考文献 (23)第一章绪论1.MATLAB简介:MATLAB是matrix和laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。
基于matlabe简易计算器的设计论文
![基于matlabe简易计算器的设计论文](https://img.taocdn.com/s3/m/e67b2869af1ffc4ffe47ac40.png)
visual c++简单计算器课程设计专业:通信工程班级:通信一班学号:2404070132姓名:王龙龙指导教师:吴向东实验时间:2011年3月18日一、实验目的与要求1、实验目的:通过学习掌握面向对象编程的分析设计方法,以及与面向对象技术相关的一些软件开发技术,同时熟悉Visual C++6.0的开发环境,并掌握在 VisualC++6环境下进行可视化程序设计技术。
通过该课程设计的实践,为进一步开展相关领域的学习和科研打下良好的基础。
2、实验要求:在Visual C++6.0环境下设计一个具有如下功能的简单计算器:具有加、减、乘、除、倒数、阶乘、平方和显示功能二、实验过程:1、建立工程:2、添加按键并设置属性:3、程序设计及编辑:1)、数字“1”键程序(0~9键类似):void CCaculator_loloView::OnButton1(){if(c==0)a=1+a*10;else{a=a+1*pow(0.1,i);i++;}m_out=a;UpdateData(false);// TODO: Add your control notification handler code here }2)“.”键程序:void CCaculator_loloView::OnButton11(){i=1;c=1;UpdateData(true);//DO: Add your control notification handler code here}3)“=”键程序:void CCaculator_loloView::OnButton12(){switch (d){case 1:a=b+a;break;case 2:a=b-a;break;case 3:a=b*a;break;case 4:a=b/a;break;//case 5:a=1/a;break;}m_out=a;UpdateData(false);// TODO: Add your control notification handler code here }4)“+”键程序:void CCaculator_loloView::OnButton13(){b=a;a=0;c=0;d=1;m_out=a;UpdateData(false);// TODO: Add your control notification handler code here }5)“-”键程序:void CCaculator_loloView::OnButton14(){b=a;a=0;c=0;d=2;m_out=a;UpdateData(false);// TODO: Add your control notification handler code here }6)“*”键程序:void CCaculator_loloView::OnButton15(){b=a;a=0;c=0;d=3;m_out=a;UpdateData(false);// TODO: Add your control notification handler code here }7)“/”键程序:void CCaculator_loloView::OnButton16(){b=a;a=0;c=0;d=4;m_out=a;UpdateData(false);// TODO: Add your control notification handler code here }8)清楚“C”键程序:void CCaculator_loloView::OnButton17(){a=0;m_out=a;UpdateData(false);// TODO: Add your control notification handler code here }9)倒数“1/X”键程序:void CCaculator_loloView::OnButton18(){a=1/a;m_out=a;UpdateData(false);// TODO: Add your control notification handler code here }10)阶乘“X!”键程序:void CCaculator_loloView::OnButton19(){for(m=1;a>=1;a--)m*=a;m_out=m;UpdateData(false); // TODO: Add your control notification handler code here }11)平方“X^2”键程序:void CCaculator_loloView::OnButton20(){n=a*a;m_out=n;UpdateData(false); // TODO: Add your control notification handler code herea=0;}4、调试程序并修改,计算器最终结果如下图:四、结论在做这个课程设计之前对Visual C++的设计还很陌生,但通过课堂学习和课程设计的摸索,掌握了很多Visual C++设计的技术。
根据MATLAB科学计算器
![根据MATLAB科学计算器](https://img.taocdn.com/s3/m/f398464352ea551810a687d6.png)
目录计算器的效果图 ........................................................................... 错误!未定义书签。
一、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函数) (9)三、附各按键的程序源代码 (10)四、问题和解决方法 (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中输出。
基于MATLAB科学计算器
![基于MATLAB科学计算器](https://img.taocdn.com/s3/m/f0dec8d701f69e314232947a.png)
目录计算器得效果图 ........................................................................... 错误!未定义书签。
一、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。
用MATLAB制作简单计算器
![用MATLAB制作简单计算器](https://img.taocdn.com/s3/m/7cfe7efe647d27284a73514e.png)
用M A T L A B制作简单计算器(总17页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除安阳工学院电子信息与电气工程学院《MATLAB编程与应用》课程大作业题目:用MATLAB制作简单计算器班级:电子信息工程(专升本)教师成绩由以下评分标准累计得出1、设计和仿真结果正确,分析清晰合理。
40%2、大作业报告重点突出、阐述清晰。
30%3、陈述清晰正确、有说服力,能够正确回答问题。
30%总分(上述成绩由教师填写)大作业总成绩(该表格“姓名”和“学号”由学生填写,“成绩”由教师1.计任务: 1、熟悉MATLAB的主要控件使用方法。
2、熟悉MATLAB的GUI设计流程。
2.设计方案利用MATLAB GUI设计实现一个图形用户界面的计算器程序,要求实现:A.实现十进制数的加、减、乘、除、简单计算。
B. 科学计算函数,包括正弦、余弦、正切、(余切、开方、指数等函数运行。
C. 能够保存上次历史计算的答案,先是答案存储器中得内容。
D. 有清除键,能清除操作。
3.方案实施通过MATLAB的gui程序设计较为简单,在gui设计中主要用到两种控件,显示框用到文本编辑框(edit text),说明框用到静态文本框(Static text),数字以及运算等按钮用到命令按钮(push button)。
然后在通过各个按钮的回调函数,实现简单的计算功能。
4.方案施舍首先用MATLAB GUI功能,在绘制一个静态文本框和一个文本编辑框,以及24个命令按钮,调整好各控件大小、颜色,整体布局如图所示:图-1一、布局GUI1.打开Matlab,输入Guide 回车或者在工具栏上点击图标出现Guide 窗口:图–22.然后双击“Blank GUI(Default)”出现GUI窗口图-33.添加按钮图-44.根据按钮的作用及视觉效果做一定的修改把按钮的字符串大小、颜色进行设置,对按钮的位置进行排布,尽量使按钮集中在静态文本框下面。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于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、框架准备‘加法器’:使用静态文本,在 string 处将文本修改为(加法器),在 fontsize可修改字体大小,在BackgroundColor处可修改背景颜色。
‘白色编辑框’:使用可编辑文本,同样在 string 处把文本清除,在 fontsize修改字体大小。
‘加号(+)’、‘等号(=)’按钮:同理按上述方法修改文本和字体大小。
2、程序准备:先点击加号右键选择——查看回调——callback。
会得到绿色字体(一般为MATLAB程序注释)包围的程序,这个+程序就编辑在此段程序的下方,代表点击该按钮后将要执行的命令。
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)a=get(handles.edit1,'string');b=get(handles.edit2,'string');c=str2num(a)+str2num(b);set(handles.edit3,'string',c)3、程序阅读a=get(handles.edit1,'string');MATLAB的一大亮点就是它包含了大量功能强大的函数,初学者在编写MATLAB命令时,只需要明确函数调用时的格式,再输入相应的数据即可。
通常可以百度搜索函数格式、功能及其用法。
或者借助MATLAB本身的help命令:在命令行窗口中输入 help get 再按回车便会得到检索结果(再点击get的参考页)。
这里有详细的函数介绍(全英文,要求有一定的英文水平哦)回到程序段‘a=’表示把右边的运算结果赋值给aget是函数,()内为运用该函数时需要输入的一些相关量handles.(注意符号哦,此处为点而不是逗号),为函数句柄,不深究。
edit1,'string':表示获取edit1的字符串,'string' 是该函数内不能缺少的一个量,string字面意思是字符串,通俗来说就是edit1中的内容为字符串。
这里又涉及到‘edit1’和‘字符串’两个概念‘edit1’——双击‘编辑框’按钮打开属性:找到如下两个选项上文提到Tag取值为字符串,定义了控件的标识值,在任何程序中都可以通过这个标识值控制该控件对象;既然要对可编辑文本进行操作,那么函数中自然免不了加入文本的标识值(记住它放在get函数中的位置就行)字符串——在MATLAB中一串数字可以有两个身份:数字和字符串。
当它是数字的时候可以正常的运算,而当他是字符时,就类似一段文字,没有办法对它进行运算处理的(当然作为字符串处理时有它的优势)。
我们可以调用相关函数来达到字符串和数字的相互转换。
a=get(handles.edit1,'string');通过以上分析,这条代码的意思就很明确了:获取edit1内的字符串(string)再赋值给ab=get(handles.edit2,'string');意思同上c=str2num(a)+str2num(b);现在a和b的属性都是字符串。
函数str2num的功能是把字符转换成数字,转换之后就可以计算了。
set(handles.edit3,'string',c)set为输出函数,格式与get类似,括号内多了一个c,意思很明显了,当然就是输出c的值了(这里数字可以不用转换可以直接作为字符串输出)。
4、代码总结:1、a=get(handles.edit1,'string');2、b=get(handles.edit2,'string');3、c=str2num(a)+str2num(b);4、set(handles.edit3,'string',c)(1)、把edit1内的字符串赋值给a;(2)、把edit2内的字符串赋值给b;(3)、分别把a、b字符串转换成数字,相加后赋值给c;(4)、在edit3内输出字符串c。
5、运行结果在a框中输入25,b框中输入23.再点击+,结果35显示在c框项目三、简单可编辑计算器的制作1、框架准备材料:可编辑文本、静态文本,按钮。
说明:除了项目2介绍的操作方法外,在设置可编辑文本时,在属性栏中有:可以设定对其方式,一般选定向右对齐。
2、程序准备:a=get(handles.edit1,'string');b=eval(a);set(handles.edit1,'string',b):a=get(handles.edit1,'string');a='';set(handles.edit1,'string',a);3、程序阅读:::a=get(handles.edit1,4、代码总结eval:串演算指令。
例:a='12+13';(单引号表示12+13为一个字符串)b=eval(a)结果:5、运行结果1、输入 12+232、点击计算按钮得到结果353、点击清空,回到初始状态项目四、简易入门计算器的制作1、框架准备:材料:面板、静态文本、按钮、辅助线说明:添加一个面板可以起到修饰作用,布局时一般使用辅助线对齐,从坐标处下拉即可。
2、程序准备::a=get(handles.text1,'string');b=strcat(a,'1');set(handles.text1,'string',b)(对应的其他数字只需修改:b=strcat(a,'1');处的‘1’,改成对应的数字即可):a=get(handles.text1,'string');b=strcat(a,'+');set(handles.text1,'string',b)(对应的其他数字只需修改:b=strcat(a,'+');处的‘+’,改成对应的符号即可):a=get(handles.text1,'string');b=eval(a)set(handles.text1,'string',b):a=get(handles.text1,'string');n=length(a)a=a(1:n-1);set(handles.text1,'string',a):a=get(handles.text1,'string');a='';set(handles.text1,'string',a)3、程序阅读:a=get(handles.text1,'string');%text1中字符串赋给ab=strcat(a,'1'); %在字符串a后面再添加一个1set(handles.text1,'string',b)%在text1中输出b:a=get(handles.text1,'string');b=strcat(a,'+');set(handles.text1,'string',b)(解释同上):a=get(handles.text1,'string');%text1中字符串赋给an=length(a) %把a字符串的长度的值赋给n a=a(1:n-1);%a由n个字符变成n-1个,去掉最后一个set(handles.text1,'string',a)% 在text1中输出a与见项目三4、代码总结strcat函数:字符串连接。