admin 管理员组

文章数量: 1184232


2024年3月11日发(作者:算法导论第四版下载)

基于MATLAB GUI的简易计算器设计

摘要

基于MATLAB GUI的计算器设计是利用GUIDE创建图形用户界面进行计算器设计。

设计计算器时,主要是考虑到计算器的易用性、功能的常用程度进行计算器界面与功能的

设计。通过调整控件和文本的布局及颜色,使界面简单大方、布局合理,达到界面友好的

效果。

计算器设计时主要利用到get和set两个函数进行各个控件属性值的传递和设置。计算

器实现的功能有:数字0~9和小数点的输入显示,平方、开平方和对数的输入显示。进行

四则运算、正弦计算、余弦计算、正切计算和余切计算,可以求阶乘、求百分数和求倒数。

可以进行括号及变量x与变量y的输入,结合坐标轴编辑框和曲线颜色编辑框实现函数的

曲线绘制。最后运行调试,实现基于MATLAB GUI的计算器的设计。

关键词:

MATLAB、GUI、计算器

1 MATLAB GUI介绍

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、

数据分析以及数值计算的高级技术计算语言和交互式环境。

MATLAB是matrix和laboratory两个词的组合,意为矩阵工厂,主要面对科学计算、

可视化以及交互式程序设计的高科技计算环境。MATLAB是将数值分析、矩阵计算、科学

数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视

窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种

全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言的编辑模式,特别是

所附带的30多种面向不同领域的工具箱支持,使得它在许多科学领域中成为计算机辅助

设计和分析、算法研究和应用开发的基本工具和首选平台。

MATLAB的图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)

是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图

形界面对于用户来说在视觉上更易于接受。MATLAB的图形用户界面(GUI)是由光标,

窗口,菜单、文字说明等对象构成一个用户界面。用户可以通过键盘输入相关的参数,通

1

过鼠标选择、激活这些对象,使计算机完成相关的计算或者绘制波形等功能。MATLAB的

GUI为开发者提供了一个不脱离MATLAB的开发环境,有助于MATLAB程序的GUI集

成。这样可以使开发者不必理会一大堆烦杂的代码,简化程序,但是同样可以实现向决策

者提供图文并茂的界面,甚至达到多媒体的效果。可以说MATLAB提供了一个简便的开

发环境,可以让开发者快速上手,提高了开发者的工作效率。

MATLAB的图形界面设计是通过对各种图形对象的操作来实现的,因此用户在使用的

过程需要深入了解各种图形对象的特征、属性和操作。由此可见,图形用户界面的设计、

制作是一件比较繁琐的工作。图形用户界面的创建一般有两种常用的方式:第一是通过使

用m文件直接动态添加控件;第二是使用GUIDE快速生成GUI界面。这两种实现的方法

都需要使用M语言编程,但是技术的侧重点不同。所谓的GUIDE就是图形用户界面开发

环境(Graphical User Interface Development Environment),它向用户提供了一系列的创建用

户图形界面的工具。这些工具大大简化了GUI设计和生成的过程。GUIDE可以完成的任

务有如下两点:第一是输出GUI,第二是GUI编程。GUIDE实际上是一套MATLAB工具

集。 打开GUIDE,新建并且保存后,会生成相应的fig文件和m文件,fig文件储存有图

形用户界面的外形、菜单构架等信息;m文件则储存设计的程序部分,如主程序、回调函

数(Callback)等。在Layout编辑视图,可以使用如下工具:布局编辑器(Layout Editor),

对齐工具(Alignment Tool),对象属性观察器(Property Inspector),对象浏览器

(Object Browser),菜单编辑器(Menu Editor)。新建一个布局,可以在新窗口中添加各种

控件:静态文本(Static Text),编辑框(Edit Text),列表框(List box),滚动条(Slider),

按钮(Push button),开关按钮(Toggle Button),单选按钮(Radio button),按钮组

(Button Group),检查框(Check Box),弹出式菜单(Popup Menu),坐标轴(Axes),面

板(Panel)。每个控件的属性中都含有多个参数,对应各个参数,可以对控件的外观,位

置等各方面属性进行修改。其实GUIDE创建图形用户界面的基础也是图形句柄对象,只

不过是具有很好的封装,使用起来简便,而且还能够做到可视化的开发,对于一般的用户

使用GUIDE创建图形用户界面应用程序已经足够了。本文利用GUIDE创建图形用户界面

进行计算器设计,设计GUI界面时,应使总体界面简单大方、控件布局合理,最终达到总

体界面友好的效果

[3]

2

2 计算器设计思路

本文利用GUIDE创建图形用户界面进行计算器设计。设计计算器时,主要是考虑到

计算器的易用性、功能的常用程度进行计算器界面与功能的设计。通过调整控件和文本的

布局及颜色,使界面简单大方、布局合理,达到界面友好的效果。

计算器设计时主要利用到get和set两个函数进行各个控件属性值的传递和设置,利用

strcat函数实现把两个字符串连接起来。利用length函数来计算字符串的长度实现后退的功

能。利用eval函数将文本框中的字符串转换成数值表达式,利用MATLAB计算出结果返

回显示。利用坐标轴axes和ezplot函数进行图形的绘制,利用factorial函数进行求阶乘运

算。利用str2num及num2str实现数值与字符之间的转换。

打开MATLAB

新建GUI界面

创建坐标轴

及输入输出

文本框

创建数字0~9

及四则运算

和等于号按钮

修改文本框、

坐标轴、按钮

的属性和布局

创建5个文本编

辑框和画图、

等号等按钮

创建括号、正

弦、倒数、平

方等简单科学

计算按钮

编辑对应的

m文件实现

相应功能

运行程序

检验和调试

图2-1 计算器设计流程图

3 设计计算器界面及功能

计算器程序由MATLAB代码(.m文件)和GUI图形(.fig)两个部分组成。程序的

使用方式是直接利用图形界面中的按键键入所需数值、运算符等,再按等于号即可得出结

果。

首先用MATLAB GUI功能,先绘制2个静态文本框和一个坐标轴,再绘制35个命令

按钮,以及5个文本编辑框,调整好各控件大小、颜色,整体布局(如图3-1所示)。

3

图3-1 MATLAB GUI编辑计算器界面

然后通过双击各个按钮来改写其大小、颜色等属性,在m文件中找到与相应按钮对应

的回调函数编写其回调函数,最后再运行调试。

计算器设计实现的功能有:数字0~9和小数点的输入显示,平方、开平方和对数的输

入显示。进行四则运算、正弦计算、余弦计算、正切计算和余切计算,可以求阶乘、求百

分数和求倒数。可以进行括号及变量x与变量y的输入,结合坐标轴编辑框和曲线颜色编

辑框实现函数的曲线绘制。还可以实现后退、清空和退出的功能(如图3-2所示)。

4

图3-2 计算器功能界面

4 计算器的功能实现

4.1 数字0~9设计

计算器数字0~9以按钮(Push Button)为输入传递数字,面板(Panel)和静态文本

(Static Text)进行控件的排列和数字显示说明,进行整体界面的设计

[1]

5

图4-1 计算器数字输入图

数字1~9与数字0的实现代码类似,数字0的实现代码如下:

function pushbutton17_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'0'); %把textstring中的字符与0连接起来并赋给textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

4.2 四则运算设计

计算器的四则运算是以按钮(Push Button)为输入传递运算符号,面板(Panel)和静

态文本(Static Text)进行控件的排列和运算符号显示说明,进行整体界面的设计。

6

图4-2 计算器四则运算图

运算符号*、/、+与运算符号-的实现代码类似,运算符号-的实现代码如下:

function pushbutton12_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'/'); %把textstring中的字符与/连接起来并赋给textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

4.3 简单科学计算设计

计算器的简单科学计算是以按钮(Push Button)为输入传递运算符号,面板(Panel)

和静态文本(Static Text)进行控件的排列和运算符号显示说明,进行整体界面的设计,正

弦、余弦、正切和余切运算是弧度制。

7

图4-3 计算器余弦运算图

正弦、正切和余切运算与余弦运算的实现代码类似,余弦运算的实现代码如下:

function pushbutton22_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'cos('); %把textstring中的字符与cos(连接起来并赋给

textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

8

图4-4 计算器阶乘运算图

阶乘运算的实现代码如下:

function pushbutton35_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

ans = factorial(str2num(textString));%把textString求阶乘赋给textstring

textString = strcat(textString,'!'); %把textstring中的字符与!连接起来并赋给textstring

set(1,'String',textString);%把新的textstring中的内容以字符串的形式显示在

text1中

set(2,'String',ans)%把ans中的内容以字符串的形式显示在text2中

9

4.4 绘制函数图像设计

计算器的绘制函数图像功能是以文本编辑框(Edit Text)为输入传递图形属性,面板

(Panel)和静态文本(Static Text)进行控件的排列和运算符号显示说明,坐标轴坐标轴

(Axes)进行图形的显示,进行整体界面的设计。Xmin、Xmax为横坐标的范围,Ymin、

Ymax为纵坐标的范围,Color为曲线的颜色设置,绘制图像的函数只能为两变量的函数

[2]

图4-5 计算器函数图形绘制

绘制函数图像的实现代码如下:

function pushbutton29_Callback(hObject, eventdata, handles)

fun = get(2,'String');%把text2中的字符串赋给fun

set(1,'String',fun); %把新的fun中的内容以字符串的形式显示在text1中

set(2,'String','') %清空text2

10

Xmin = get(1,'String');%把edit1中的字符串赋给Xmin

Xmax = get(2,'String');%把edit2中的字符串赋给Xmax

Ymin = get(3,'String');%把edit3中的字符串赋给Ymin

Ymax = get(4,'String');%把edit4中的字符串赋给Ymax

fun = ezplot(fun,[str2num(Xmin),str2num(Xmax),str2num(Ymin),str2num(Ymax)]);

col = get(5,'String');%把edit5中的字符串赋给col

set(fun,'Color',col);%把设置fun的颜色为col中的字符串

grid on

4.5 功能按钮设计

计算器的功能按钮是以按钮(Push Button)为输入传递相应功能,面板(Panel)进行

控件的排列和运算符号显示说明,进行整体界面的设计。

退出即关闭句柄,退出和清空的实现代码如下:

function pushbutton1_Callback(hObject, eventdata, handles)

close(gcf); %关闭句柄值,即关闭界面

function pushbutton2_Callback(hObject, eventdata, handles)

set(2,'String','') %把text清空

后退的实现代码如下:

function pushbutton3_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

w = length(textString); %w为textstring的长度

t = char(textString);

textString = t(1:w-1); %把t中前w-1个数赋给textstring

set(2,'String',textString)%把新的textstring中的内容以字符串的形式显示在

text2中

11

五 设计总结

本文是利用MATLAB GUI来设计实现科学计算器的简单功能,实现过程较为简单。

首先打开MATLAB建立一个GUI工程,然后利用图形用户界面,设计出计算器的大致外

观,创建数字按钮、功能按钮、文本框及坐标轴等,再为每一个按钮设置想要实现的功能,

然后就是将对应的函数写到自动生成的回调程序中,然后每个按钮就可以实现对应的功

能。

本文设计的科学计算器具有实用性强、功能强大、易操作、移植性好、占用资源少、

执行效率高等优点。同时也存在不足的方面,可视化界面没有达到最佳效果,功能不是很

全面,操作逻辑不是很清晰,以后还需要进一步完善和改进。

在本次计算器设计的过程中还是遇到很多的困难,首先就是程序的问题,编辑出计算

器的界面之后,自动生成的结构程序是一个看起来非常乱的程序,每个按键对应什么功能

看不出来,于是在原来的工程中找到每个按键所对应回调函数的序号,这样找到按钮所对

应的回调函数编写功能程序。编程的过程中,主要是对变量和句柄的控制,对变量相应的

赋值后,要返回给主程序,然后就可以在Static Text中显示出来的。通过这次MATLAB GUI

课程设计,使我对MATLAB的操作与GUI界面设计有了更深一步的理解和认识,学习到

了以前未曾了解的知识,这次课程设计使我收获很多。

参考文献

[1] 刘卫国.MATLAB程序设计与应用第2版.北京:高等教育出版社,2006.7.

[2] 张德喜等.MATLAB程序设计与教程.北京:中国铁道出版社,2006.6.

[3] 范明、孟小峰.Matlabd的GUI设计[M].北京:机械工业出版社,2001.

12

附录

计算器程序:

function varargout = untitled1(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @untitled1_OpeningFcn, ...

'gui_OutputFcn', @untitled1_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui__Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

function untitled1_OpeningFcn(hObject, eventdata, handles, varargin)

= hObject;

guidata(hObject, handles);

function varargout = untitled1_OutputFcn(hObject, eventdata, handles)

varargout{1} = ;

function pushbutton1_Callback(hObject, eventdata, handles)

close(gcf); %关闭句柄值,即关闭界面

function pushbutton2_Callback(hObject, eventdata, handles)

set(2,'String','') %把text清空

function pushbutton3_Callback(hObject, eventdata, handles)

13

textString = get(2,'String'); %把text2中的字符串赋给textstring

w = length(textString); %w为textstring的长度

t = char(textString);

textString = t(1:w-1); %把t中前w-1个数赋给textstring

set(2,'String',textString)%把新的textstring中的内容以字符串的形式显示在

text2中

function pushbutton4_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'^2'); %把textstring中的字符与^2连接起来并赋给textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

function pushbutton5_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'7'); %把textstring中的字符与7连接起来并赋给textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

function pushbutton6_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'8'); %把textstring中的字符与8连接起来并赋给textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

function pushbutton7_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'9'); %把textstring中的字符与9连接起来并赋给textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

function pushbutton8_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'*'); %把textstring中的字符与*连接起来并赋给textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

14

text2中

function pushbutton9_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'4'); %把textstring中的字符与4连接起来并赋给textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

function pushbutton10_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'5'); %把textstring中的字符与5连接起来并赋给textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

function pushbutton11_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'6'); %把textstring中的字符与6连接起来并赋给textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

function pushbutton12_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'/'); %把textstring中的字符与/连接起来并赋给textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

function pushbutton13_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'1'); %把textstring中的字符与1连接起来并赋给textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

function pushbutton14_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'2'); %把textstring中的字符与2连接起来并赋给textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

15

text2中

function pushbutton15_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'3'); %把textstring中的字符与3连接起来并赋给textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

function pushbutton16_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'+'); %把textstring中的字符与+连接起来并赋给textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

function pushbutton17_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'0'); %把textstring中的字符与0连接起来并赋给textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

function pushbutton18_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'.'); %把textstring中的字符与.连接起来并赋给textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

function pushbutton19_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

ans = eval(textString); %将textString的内容转换成数值表达式

set(1,'String',textString); %把新的textString中的内容以字符串的形式显示在

text1中

set(2,'String',ans) %把新的ans中的内容以字符串的形式显示在text2中

function pushbutton20_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'-'); %把textstring中的字符与-连接起来并赋给textstring

16

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

function pushbutton21_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'sin('); %把textstring中的字符与sin(连接起来并赋给

textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

function pushbutton22_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'cos('); %把textstring中的字符与cos(连接起来并赋给

textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

function pushbutton23_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'tan('); %把textstring中的字符与tan(连接起来并赋给

textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

function pushbutton24_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'log('); %把textstring中的字符与log(连接起来并赋给

textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

function pushbutton25_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'x'); %把textstring中的字符与x连接起来并赋给textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

17

text2中

function pushbutton26_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'y'); %把textstring中的字符与y连接起来并赋给textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

function pushbutton27_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'('); %把textstring中的字符与连接起来并赋给textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

function pushbutton28_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,')'); %把textstring中的字符与)连接起来并赋给textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

function pushbutton29_Callback(hObject, eventdata, handles)

fun = get(2,'String');%把text2中的字符串赋给fun

set(1,'String',fun); %把新的fun中的内容以字符串的形式显示在text1中

set(2,'String','') %清空text2

Xmin = get(1,'String');%把edit1中的字符串赋给Xmin

Xmax = get(2,'String');%把edit2中的字符串赋给Xmax

Ymin = get(3,'String');%把edit3中的字符串赋给Ymin

Ymax = get(4,'String');%把edit4中的字符串赋给Ymax

fun = ezplot(fun,[str2num(Xmin),str2num(Xmax),str2num(Ymin),str2num(Ymax)]);

col = get(5,'String');%把edit5中的字符串赋给col

set(fun,'Color',col);%把设置fun的颜色为col中的字符串

grid on

function pushbutton30_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

18

textString = strcat(textString,'='); %把textstring中的字符与=连接起来并赋给textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

function pushbutton31_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'sqrt('); %把textstring中的字符与sqrt(连接起来并赋给

textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

function pushbutton32_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

textString = strcat(textString,'cot('); %把textstring中的字符与cot(连接起来并赋给

textstring

set(2,'String',textString) %把新的textstring中的内容以字符串的形式显示在

text2中

function pushbutton33_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

ans = 1/str2num(textString);%把textString取倒数赋给textstring

textString = strcat('1/',num2str(textString)); %把textstring中的字符与%连接起来并赋给

textstring

set(1,'String',textString);%把新的textstring中的内容以字符串的形式显示在

text1中

set(2,'String',ans)%把新的textstring中的内容以字符串的形式显示在text2中

function pushbutton34_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

ans = str2num(textString)*100;%把textString乘100赋给textstring

ans = strcat(num2str(ans),'%'); %把textstring中的字符与%连接起来并赋给textstring

set(1,'String',textString);%把新的textstring中的内容以字符串的形式显示在

text1中

set(2,'String',ans)%把ans中的内容以字符串的形式显示在text2中

19

function pushbutton35_Callback(hObject, eventdata, handles)

textString = get(2,'String'); %把text2中的字符串赋给textstring

ans = factorial(str2num(textString));%把textString求阶乘赋给textstring

textString = strcat(textString,'!'); %把textstring中的字符与!连接起来并赋给textstring

set(1,'String',textString);%把新的textstring中的内容以字符串的形式显示在

text1中

set(2,'String',ans)%把ans中的内容以字符串的形式显示在text2中

function edit1_Callback(hObject, eventdata, handles)

function edit1_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function edit2_Callback(hObject, eventdata, handles)

function edit2_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function edit3_Callback(hObject, eventdata, handles)

function edit3_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function edit4_Callback(hObject, eventdata, handles)

function edit4_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

20

end

function edit5_Callback(hObject, eventdata, handles)

function edit5_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

21


本文标签: 设计 进行 计算器 字符串 界面