matlab简易计算器

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

电子信息工程系实验报告

课程名称:MATLAB语言Array实验项目名称:MATLAB图形用户界面设计实验时间:2010-5-8 班级:姓名:学号:

实验目的: 1、熟悉MATLAB的主要控件使用方法。

2、熟悉MATLAB的GUI设计流程。

实验环境:硬件配置( Pentium(R) 4 CPU 2.40GHz,1GB内存)

操作系统(Windows XP)

编程软件:MATLAB7.0

实验内容与结果:

使用MATLAB的GUI接口设计一个简单的计算器。

效果图:

程序源码部分函数及相关注释:

%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 gloval2

gloval2=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 flagnum

global gloval1

global locaval

locaval=' ';

flagnum=1;

gloval1=b;

guidata(hObject, handles);

%取相反数按钮“+\-”代码

%算法实现:用零减去文本框现在的值,再赋值给文本框

function pushbutton14_Callback(hObject, eventdata, handles)

global locaval;

locaval=str2num(locaval);

locaval=0-locaval;

locaval=num2str(locaval);

set(handles.text1,'String',locaval);

global gloval2

gloval2=locaval;

guidata(hObject, handles);

% 等号按钮运算实现

%根据flagnum运算标志用switch决策语句实现相应计算

%需注意相应数据类型的转化

function pushbutton17_Callback(hObject, eventdata, handles)

global flagnum

global gloval1

global gloval2

global locaval

locaval=' ';

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 1

set(handles.text1,'String',case1);

case 2

set(handles.text1,'String',case2);

case 3

set(handles.text1,'String',case3);

case 4

set(handles.text1,'String',case4);

end

guidata(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.') ;

else

ss=char(textString);

l=length(textString);

textString=ss(1:l-1);

set(handles.text1,'String',textString)

end

guidata(hObject,handles)

%C清除按钮函数

%把全局变量locaval清零

function pushbutton20_Callback(hObject, eventdata, handles)

global locaval

locaval=' ';

set(handles.text1,'String','0.');

guidata(hObject,handles)

%开平方函数

function pushbutton22_Callback(hObject, eventdata, handles)

textString = get(handles.text1,'String');

textString=str2num(textString);

textString=sqrt(textString);

textString=num2str(textString);

set(handles.text1,'String',textString);

locaval=' ';

guidata(hObject,handles)

%取1/x函数

function pushbutton24_Callback(hObject, eventdata, handles)

global locaval

locaval=str2num(locaval);

locaval=1/locaval;

set(handles.text1,'String',locaval);

locaval=' ';

guidata(hObject,handles)

实验心得:

!、通过MATLAB简单计算器的设计,初步了解了关于MATLAB图形用户界面的部分控件的使用方法。

2、MATLAB的GUI提供的很多实用的控件,方便用于设计属于自己的图形界面。

源码:

function varargout = bt0(varargin)

% BT0 M-file for bt0.fig

% BT0, by itself, creates a new BT0 or raises the existing

% singleton*.

%

% H = BT0 returns the handle to a new BT0 or the handle to

% the existing singleton*.

%

相关文档
最新文档