最新matlab简易计算器.docx
- 文档编号:8896161
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:18
- 大小:53.08KB
最新matlab简易计算器.docx
《最新matlab简易计算器.docx》由会员分享,可在线阅读,更多相关《最新matlab简易计算器.docx(18页珍藏版)》请在冰豆网上搜索。
最新matlab简易计算器
matlab简易计算器
电子信息工程系实验报告
课程名称:
MATLAB语言
实验项目名称:
MATLAB图形用户界面设计实验时间:
2010-5-8
班级:
姓名:
学号:
实验目的:
1、熟悉MATLAB的主要控件使用方法。
2、熟悉MATLAB的GUI设计流程。
实验环境:
硬件配置(Pentium(R)4CPU2.40GHz,1GB内存)
操作系统(WindowsXP)
编程软件:
MATLAB7.0
实验内容与结果:
使用MATLAB的GUI接口设计一个简单的计算器。
效果图:
程序源码部分函数及相关注释:
%0~9数字键及小数点按钮代码范例
%全局变量locaval用于存储用户输入的多位数值
%全局变量gloval2用于存储待处理的第二位数值
functionpushbutton1_Callback(hObject,eventdata,handles)
globallocaval;
a=get(handles.pushbutton1,'String');
locaval=strcat(locaval,a);
set(handles.text1,'String',locaval);
globalgloval2
gloval2=locaval;
guidata(hObject,handles);
%运算符按钮处理“+、-、*、\”范例
%全局变量flagnum存储运算符标志
%全局变量global1用于储存第一个待处理数值
functionpushbutton10_Callback(hObject,eventdata,handles)
a=get(handles.pushbutton10,'String');
b=get(handles.text1,'String');
set(handles.text1,'String',a);
globalflagnum
globalgloval1
globallocaval
locaval='';
flagnum=1;
gloval1=b;
guidata(hObject,handles);
%取相反数按钮“+\-”代码
%算法实现:
用零减去文本框现在的值,再赋值给文本框
functionpushbutton14_Callback(hObject,eventdata,handles)
globallocaval;
locaval=str2num(locaval);
locaval=0-locaval;
locaval=num2str(locaval);
set(handles.text1,'String',locaval);
globalgloval2
gloval2=locaval;
guidata(hObject,handles);
%等号按钮运算实现
%根据flagnum运算标志用switch决策语句实现相应计算
%需注意相应数据类型的转化
functionpushbutton17_Callback(hObject,eventdata,handles)
globalflagnum
globalgloval1
globalgloval2
globallocaval
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);
switchflagnum;
case1
set(handles.text1,'String',case1);
case2
set(handles.text1,'String',case2);
case3
set(handles.text1,'String',case3);
case4
set(handles.text1,'String',case4);
end
guidata(hObject,handles)
%BackSpace按钮函数
%算法实现:
MATLAB是用矩阵存储数据的,相应的可以取文本框的前N-1实现其功能
functionpushbutton19_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清零
functionpushbutton20_Callback(hObject,eventdata,handles)
globallocaval
locaval='';
set(handles.text1,'String','0.');
guidata(hObject,handles)
%开平方函数
functionpushbutton22_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函数
functionpushbutton24_Callback(hObject,eventdata,handles)
globallocaval
locaval=str2num(locaval);
locaval=1/locaval;
set(handles.text1,'String',locaval);
locaval='';
guidata(hObject,handles)
实验心得:
!
、通过MATLAB简单计算器的设计,初步了解了关于MATLAB图形用户界面的部分控件的使用方法。
2、MATLAB的GUI提供的很多实用的控件,方便用于设计属于自己的图形界面。
源码:
functionvarargout=bt0(varargin)
%BT0M-fileforbt0.fig
%BT0,byitself,createsanewBT0orraisestheexisting
%singleton*.
%
%H=BT0returnsthehandletoanewBT0orthehandleto
%theexistingsingleton*.
%
%BT0('Property','Value',...)createsanewBT0usingthe
%givenpropertyvaluepairs.Unrecognizedpropertiesarepassedvia
%varargintobt0_OpeningFcn.Thiscallingsyntaxproducesa
%warningwhenthereisanexistingsingleton*.
%
%BT0('CALLBACK')andBT0('CALLBACK',hObject,...)callthe
%localfunctionnamedCALLBACKinBT0.Mwiththegiveninput
%arguments.
%
%*SeeGUIOptionsonGUIDE'sToolsmenu.Choose"GUIallowsonlyone
%instancetorun(singleton)".
%
%Seealso:
GUIDE,GUIDATA,GUIHANDLES
%Edittheabovetexttomodifytheresponsetohelpbt0
%LastModifiedbyGUIDEv2.504-May-201014:
01:
00
%Begininitializationcode-DONOTEDIT
globalgloval1;
globalgloval2;
globalflagnum;
globallocaval;
gui_Singleton=1;
gui_State=struct('gui_Name',mfilename,...
'gui_Singleton',gui_Singleton,...
'gui_OpeningFcn',@bt0_OpeningFcn,...
'gui_OutputFcn',@bt0_OutputFcn,...
'gui_LayoutFcn',[],...
'gui_Callback',[]);
ifnargin&isstr(varargin{1})
gui_State.gui_Callback=str2func(varargin{1});
end
ifnargout
[varargout{1:
nargout}]=gui_mainfcn(gui_State,varargin{:
});
else
gui_mainfcn(gui_State,varargin{:
});
end
%Endinitializationcode-DONOTEDIT
%---Executesjustbeforebt0ismadevisible.
functionbt0_OpeningFcn(hObject,eventdata,handles,varargin)
%Thisfunctionhasnooutputargs,seeOutputFcn.
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%vararginunrecognizedPropertyName/PropertyValuepairsfromthe
%commandline(seeVARARGIN)
%Choosedefaultcommandlineoutputforbt0
handles.output=hObject;
%Updatehandlesstructure
guidata(hObject,handles);
%UIWAITmakesbt0waitforuserresponse(seeUIRESUME)
%uiwait(handles.figure1);
%---Outputsfromthisfunctionarereturnedtothecommandline.
functionvarargout=bt0_OutputFcn(hObject,eventdata,handles)
%varargoutcellarrayforreturningoutputargs(seeVARARGOUT);
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%Getdefaultcommandlineoutputfromhandlesstructure
varargout{1}=handles.output;
%---Executesonbuttonpressinpushbutton1.
functionpushbutton1_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton1(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
globallocaval;
a=get(handles.pushbutton1,'String');
locaval=strcat(locaval,a);
set(handles.text1,'String',locaval);
globalgloval2
gloval2=locaval;
guidata(hObject,handles);
%---Executesonbuttonpressinpushbutton2.
functionpushbutton2_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton2(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
globallocaval;
a=get(handles.pushbutton2,'String');
locaval=strcat(locaval,a);
set(handles.text1,'String',locaval);
globalgloval2
gloval2=locaval;
guidata(hObject,handles);
%---Executesonbuttonpressinpushbutton3.
functionpushbutton3_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton3(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
globallocaval
a=get(handles.pushbutton3,'String');
locaval=strcat(locaval,a);
set(handles.text1,'String',locaval);
globalgloval2
gloval2=locaval;
guidata(hObject,handles);
%---Executesonbuttonpressinpushbutton4.
functionpushbutton4_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton4(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
globallocaval
a=get(handles.pushbutton4,'String');
locaval=strcat(locaval,a);
set(handles.text1,'String',locaval);
globalgloval2
gloval2=locaval;
guidata(hObject,handles);
%---Executesonbuttonpressinpushbutton5.
functionpushbutton5_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton5(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
globallocaval
a=get(handles.pushbutton5,'String');
locaval=strcat(locaval,a);
set(handles.text1,'String',locaval);
globalgloval2
gloval2=locaval;
guidata(hObject,handles);
%---Executesonbuttonpressinpushbutton6.
functionpushbutton6_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton6(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
globallocaval
a=get(handles.pushbutton6,'String');
locaval=strcat(locaval,a);
set(handles.text1,'String',locaval);
globalgloval2
gloval2=locaval;
guidata(hObject,handles);
%---Executesonbuttonpressinpushbutton7.
functionpushbutton7_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton7(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
globallocaval
a=get(handles.pushbutton7,'String');
locaval=strcat(locaval,a)
set(handles.text1,'String',locaval);
globalgloval2
gloval2=locaval;
guidata(hObject,handles);
%---Executesonbuttonpressinpushbutton8.
functionpushbutton8_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton8(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
globallocaval
a=get(handles.pushbutton8,'String');
locaval=strcat(locaval,a);
set(handles.text1,'String',locaval);
globalgloval2
gloval2=locaval;
guidata(hObject,handles);
%---Executesonbuttonpressinpushbutton9.
functionpushbutton9_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton9(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
globallocaval
a=get(handles.pushbutton9,'String');
locaval=strcat(locaval,a);
set(handles.text1,'String',locaval);
globalgloval2
gloval2=locaval;
guidata(hObject,handles);
%---Executesonbuttonpressinpushbutton10.
functionpushbutton10_Callback(hObject,eventdata,handles)
%hObjecthandletopushbut
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 matlab 简易 计算器