0Matlab课程设计作业班级:姓名:号:指导老师:1内容摘要:本题目通过MATLAB的gui程序设计较为简单,在gui设计中主要用到三种控件,显示框用到文本编辑框(edittext),说明框用到静态文本框(Statictext),数字以及运算函数等按钮用到命令按钮(pushbutton)。然后在通过各个按钮的回调函数,实现简单的计算功能。关键词:文本编辑框、静态文本框、命令按钮Contentabstract:thistopicthroughtheMATLABGUIdesignisrelativelysimple,mainlyusedinGUIdesignthreekindsofcontrols,usetexteditbox,displaybox(edittext),showsthatusingStatictextboxbox(Statictext),digitalandoperationbuttonsusedcommandbutton(pushbutton).Andthenthroughthecallbackfunctionofeachbutton,achievethefunctionofsimplecalculation.Keywords:thetexteditbox,statictextbox,acommandbutton2目录1.设计目的...............................................32.题目分析...............................................33.总体设计...............................................34.具体设计...............................................45.设计结果..............................................86.心得体会..............................................107.参考书目..............................................1031、设计目的:运用MATLAB实现MATLAB的GUI程序设计。2、题目分析:2.1课程设计的基本要求:A.熟悉和掌握MATLAB程序设计方法。B.掌握MATLABGUI程序设计。2.2课程设计的内容:要求利用MATLABGUI设计实现一个图形用户界面的计算器程序,要求实现:A.具有友好的用户图形界面。可实现十进制数的加、减、乘、除、乘方等简单计算。B.科学计算函数,包括开方、指数等函数。C.有清除键,能清除操作。2.3题目分析本题目通过MATLAB的gui程序设计较为简单,在gui设计中主要用到三种控件,显示框用到文本编辑框(edittext),说明框用到静态文本框(Statictext),数字以及运算等按钮用到命令按钮(pushbutton)。然后在通过各个按钮的回调函数,实现简单的计算功能。3、总体设计首先用MATLABGUI功能,在绘制一个静态文本框和一个文本编辑框,以及28个命令按钮,调整好各控件大小、颜色,整体布局如图所示:4然后通过双击个按钮来改写其属性,在m文件中编写其回调函数,最后在运行调试。4、具体设计4.1各功能界面设计GUI设计界面:54.2各功能模块实现算法设计:(1)数字键设计:0—9以及小数点函数都一样,只是参数不同:例如按键“2”:通过get函数获得输入的字符,函数strca获得字符'2',并用set函数进行显示输出:textString=get(handles.edit1,'String');if(strcmp(textString,'0')==1)set(handles.edit1,'String','2');elsetextString=strcat(textString,'2');set(handles.edit1,'String',textString)End(2)四则运算函数也都一样(+-*/.):例如按键“+”:通过get函数获得输入的字符,函数strcat获得字符'+',并用set函数进行显示输出:textString=get(handles.edit1,'String');ss=char(textString);l=length(textString);if(ss(l)=='+'||ss(l)=='-'||ss(l)=='*'||ss(l)=='/'||ss(l)=='.')textString=ss(1:l-1);endtextString=strcat(textString,'+');set(handles.edit1,'String',textString)(3)按键“+/-”:通过get函数获得输入的字符,函数strcat获得字符'+/-',并用set函数进行显示输出6if(strcmp(textString,'0')==1)set(handles.edit1,'String','0');elsea=strread(textString,'%f');a=0-a;set(handles.edit1,'String',a)End(4)清屏“C”键函数:将所有的字符置为'0'set(handles.edit1,'String','0');(5)按键“sin和cos”:通过get函数获得输入的字符,函数strread获得输入字符,并用sin函数计算结果,set函数进行显示输出textString=get(handles.edit1,'String');a=strread(textString,'%f');a=sin(a);set(handles.edit1,'String',a)(6)按键“tan和cot”:通过get函数获得输入的字符,函数strread获得输入字符,并用tan函数计算结果,set函数进行显示输出textString=get(handles.edit1,'String');if((strcmp(textString,'1.57')==1)||(strcmp(textString,'-1.57')==1))set(handles.edit1,'String','inf');elsea=strread(textString,'%f');a=tan(a);set(handles.edit1,'String',a)End7(7)按键“x^2”:通过get函数获得输入字符,函数strread获得输入字符,并用语句a=a*a计算结果,set函数进行显示输出textString=get(handles.edit1,'String');a=strread(textString,'%f');a=a*a;set(handles.edit1,'String',a)(8)“=”的实现:通过get函数获得输入的字符,并用eval函数计算结果,set函数进行显示输出a=get(handles.edit1,'string')b=eval(a)set(handles.edit1,'string',num2str(b))(9)按键“sqrt”:通过get函数获得输入字符,函数strread获得输入字符,并用sqrt函数计算结果,set函数进行显示输出:textString=get(handles.edit1,'String');if(strcmp(textString,'0')==1)set(handles.edit1,'String','0');elsea=strread(textString,'%f');a=sqrt(a);set(handles.edit1,'String',a)end(10)退格键:通过取屏幕值,计算出其字符长度,然后取其前N-1项的值来实现退格:textString=get(handles.edit1,'String');if(strcmp(textString,'0')==1)&(jj==0)8set(handles.edit1,'String','0');elsess=char(textString);l=length(textString);textString=ss(1:l-1);set(handles.edit1,'String',textString)(11)退出键:close5、各模块实现结果:(1)数字键:(2)四则运算健:计算12+36=48(3)X^2健:计算12^29(4)sqrt健:计算888的sqrt:(5)cos函数健:计算cos0:(7)()健:计算(12+34)*15:(6)tan函数健:计算tan8:106、心得体会:通过本次的MATLAB课程设计,让我对MATLAB尤其是其GUI设计的功能有了进一步的了解,认识到了它功能的强大。在MATLAB简单计算器的设计中,了解了MATLAB图形用户界面的部分控件的使用方法;利用MATLAB的GUI提供的很多实用的控件,方便用于设计属于自己的图形界面。7、参考书目:[1]《MATLAB语言及其在电子信息工程中的应用》王洪元主编清华大学出版社