MATLAB 数字时钟.docx
《MATLAB 数字时钟.docx》由会员分享,可在线阅读,更多相关《MATLAB 数字时钟.docx(16页珍藏版)》请在冰豆网上搜索。
MATLAB数字时钟
基于GUI的教学图形的展示
姓名:
张鹏江
学号:
20132602
班级:
电1304-2班
专业:
电子信息工程
实验成绩
课程作业
总成绩
一、摘要:
在中学教学中,数学老师经常使用黑板进行教学,函数图形也由粉笔画出,这就经常导致函数图像的不规范,而这对于函数性质分析以及学生们的理解都不方便。
老师也可以借助某些计算机软件进行绘图,但是较麻烦,浪费了珍贵的教学时间,于是本次设计利用MATLAB制作基于GUI的教学图形的展示,方便中学教学。
二、实现的主要功能:
通过点击【ToggleButton】键,实现对简单函数图像(正弦函数、余弦函数、正切函数、指数函数、对数log10函数、自然对数log函数)、复杂图像(三维网格图、三次抛物线、饼状图、离散采样图、双心脏线、羽毛复数图)两部分的展示。
三、实现过程:
1.本次设计主要使用的控件有静态文本【StaticTest】、展示区【Axes】、转换按钮【ToggleButton】、按钮【PushButton】。
2.通过依次点击按钮【PushButton】实现对函数图形的展示,在此【PushButton】与展示区【Axes】相结合,使用axes(handles.axes1)以及编写相应的函数。
functionpushbutton1_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton1(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
axes(handles.axes1)
x=-2*pi:
.1:
2*pi;
y=sin(x);
plot(x,y);
3.通过点击转换按钮【ToggleButton】实现对展示界面的切换,分别展示简单函数图像、复杂图形。
本次设计通过对控件的visible属性的设置,实现对控件的显隐控制,使界面整洁简单。
functiontogglebutton1_Callback(hObject,eventdata,handles)
%hObjecthandletotogglebutton1(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
a=get(hObject,'value')
ifa
set(handles.axes1,'visible','on');
set(handles.axes2,'visible','on');
set(handles.axes3,'visible','on');
set(handles.axes4,'visible','on');
set(handles.axes5,'visible','on');
set(handles.axes6,'visible','on');
%set(handles.axes7,'visible','off');
%set(handles.axes8,'visible','off');
%set(handles.axes9,'visible','off');
%set(handles.axes10,'visible','off');
%set(handles.axes11,'visible','off');
%set(handles.axes12,'visible','off');
set(handles.text1,'visible','on');
set(handles.text2,'visible','off');
set(handles.pushbutton1,'visible','on');
set(handles.pushbutton2,'visible','on');
set(handles.pushbutton3,'visible','on');
set(handles.pushbutton4,'visible','on');
set(handles.pushbutton5,'visible','on');
set(handles.pushbutton6,'visible','on');
set(handles.pushbutton7,'visible','off');
set(handles.pushbutton8,'visible','off');
set(handles.pushbutton9,'visible','off');
set(handles.pushbutton10,'visible','off');
set(handles.pushbutton11,'visible','off');
set(handles.pushbutton12,'visible','off');
else
set(handles.axes1,'visible','off');
set(handles.axes2,'visible','off');
set(handles.axes3,'visible','off');
set(handles.axes4,'visible','off');
set(handles.axes5,'visible','off');
set(handles.axes6,'visible','off');
set(handles.axes7,'visible','on');
set(handles.axes8,'visible','on');
set(handles.axes9,'visible','on');
set(handles.axes10,'visible','on');
set(handles.axes11,'visible','on');
set(handles.axes12,'visible','on');
set(handles.text1,'visible','off');
set(handles.text2,'visible','on');
set(handles.pushbutton7,'visible','on');
set(handles.pushbutton8,'visible','on');
set(handles.pushbutton9,'visible','on');
set(handles.pushbutton10,'visible','on');
set(handles.pushbutton11,'visible','on');
set(handles.pushbutton12,'visible','on');
set(handles.pushbutton1,'visible','off');
set(handles.pushbutton2,'visible','off');
set(handles.pushbutton3,'visible','off');
set(handles.pushbutton4,'visible','off');
set(handles.pushbutton5,'visible','off');
set(handles.pushbutton6,'visible','off');
end
%Hint:
get(hObject,'Value')returnstogglestateoftogglebutton1
4.仿真实现
5.整体代码
functionvarargout=dazuoye2(varargin)
%DAZUOYE2M-filefordazuoye2.fig
%DAZUOYE2,byitself,createsanewDAZUOYE2orraisestheexisting
%singleton*.
%
%H=DAZUOYE2returnsthehandletoanewDAZUOYE2orthehandleto
%theexistingsingleton*.
%
%DAZUOYE2('CALLBACK',hObject,eventData,handles,...)callsthelocal
%functionnamedCALLBACKinDAZUOYE2.Mwiththegiveninputarguments.
%
%DAZUOYE2('Property','Value',...)createsanewDAZUOYE2orraisesthe
%existingsingleton*.Startingfromtheleft,propertyvaluepairsare
%appliedtotheGUIbeforedazuoye2_OpeningFunctiongetscalled.An
%unrecognizedpropertynameorinvalidvaluemakespropertyapplication
%stop.Allinputsarepassedtodazuoye2_OpeningFcnviavarargin.
%
%*SeeGUIOptionsonGUIDE'sToolsmenu.Choose"GUIallowsonlyone
%instancetorun(singleton)".
%Seealso:
GUIDE,GUIDATA,GUIHANDLES
%Edittheabovetexttomodifytheresponsetohelpdazuoye2
%LastModifiedbyGUIDEv2.507-Jun-201517:
46:
03
%Begininitializationcode-DONOTEDIT
gui_Singleton=1;
gui_State=struct('gui_Name',mfilename,...
'gui_Singleton',gui_Singleton,...
'gui_OpeningFcn',@dazuoye2_OpeningFcn,...
'gui_OutputFcn',@dazuoye2_OutputFcn,...
'gui_LayoutFcn',[],...
'gui_Callback',[]);
ifnargin&&ischar(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
%---Executesjustbeforedazuoye2ismadevisible.
functiondazuoye2_OpeningFcn(hObject,eventdata,handles,varargin)
%Thisfunctionhasnooutputargs,seeOutputFcn.
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%varargincommandlineargumentstodazuoye2(seeVARARGIN)
%Choosedefaultcommandlineoutputfordazuoye2
handles.output=hObject;
%Updatehandlesstructure
guidata(hObject,handles);
%UIWAITmakesdazuoye2waitforuserresponse(seeUIRESUME)
%uiwait(handles.figure1);
%---Outputsfromthisfunctionarereturnedtothecommandline.
functionvarargout=dazuoye2_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)
axes(handles.axes1)
x=-2*pi:
.1:
2*pi;
y=sin(x);
plot(x,y);
%---Executesonbuttonpressinpushbutton2.
functionpushbutton2_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton2(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
axes(handles.axes2)
x=-2*pi:
.1:
2*pi;
y=cos(x);
plot(x,y);
%---Executesonbuttonpressinpushbutton3.
functionpushbutton3_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton3(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
axes(handles.axes3)
x=-pi:
.1:
pi;
y=tan(x);
plot(x,y);
%---Executesonbuttonpressinpushbutton4.
functionpushbutton4_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton4(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
axes(handles.axes4)
x=-2:
.1:
8;
y=exp(x);
plot(x,y);
%---Executesonbuttonpressinpushbutton5.
functionpushbutton5_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton5(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
axes(handles.axes5)
x=0:
.1:
20;
y=log10(x);
plot(x,y);
%---Executesonbuttonpressinpushbutton6.
functionpushbutton6_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton6(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
axes(handles.axes6)
x=0:
.1:
4;
y=log(x);
plot(x,y);
--------------------------------------------------------------------
functionUntitled_1_Callback(hObject,eventdata,handles)
%hObjecthandletoUntitled_1(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
--------------------------------------------------------------------
functionUntitled_2_Callback(hObject,eventdata,handles)
%hObjecthandletoUntitled_2(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%---Executesonbuttonpressintogglebutton1.
functiontogglebutton1_Callback(hObject,eventdata,handles)
%hObjecthandletotogglebutton1(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
a=get(hObject,'value')
ifa
set(handles.axes1,'visible','on');
set(handles.axes2,'visible','on');
set(handles.axes3,'visible','on');
set(handles.axes4,'visible','on');
set(handles.axes5,'visible','on');
set(handles.axes6,'visible','on');
set(handles.text1,'visible','on');
set(handles.text2,'visible','off');
set(handles.pushbutton1,'visible','on');
set(handles.pushbutton2,'visible','on');
set(handles.pushbutton3,'visible','on');
set(handles.pushbutton4,'visible','on');
set(handles.pushbutton5,'visible','on');
set(handles.pushbutton6,'visible','on');
set(handles.pushbutton7,'visible','off');
set(handles.pushbutton8,'visible','off');
set(handles.pushbutton9,'visible','off');
set(handles.pushbutton10,'visible','off');
set(handles.pushbutton11,'visible','off');
set(handles.pushbutton12,'visible','off');
else
set(handles.axes1,'visible','off');
set(handles.axes