欢迎来到天天文库
浏览记录
ID:31737076
大小:209.62 KB
页数:24页
时间:2019-01-17
《matlab课程设计报告模板》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、MATLAB简易计算器镌段掖告学生姓名:学号:专业班级:电子信息工程指导教师:年七月1.设计目的32.题目分析33.总体设计34.具体设计35.结果分析66.心得体会77.参考文献88.附录8简易计算器(Matlab)1、设计目的(1):熟悉MATLAB的主要控件使用方法。(2):熟悉MATLAB的GUI设计流程。(3):运用MATLAB实现MATLAB的GUI程序设计。2、题目分析要求利用MATLAB,GUI设计实现一个图形用户界面的计算器程序,要求实现:(1):具有友好的用户图形界面。实现十进制数的加、减
2、、乘、除、乘方、取模等简单计算。(2):科学计算函数,包括(反)正弦、(反)余弦、(反)正切、(反)余切、开方、指数等函数运行。(1):能够保存上次历史计算的答案,先是答案存储器中得内容。(2):有清除键,能清除操作,并对不正确的表达式能指出其错误原因。(3):独立存储器功能,使之可以直接输入存储器,可与存储器中的数值相加减。能够清除独立存储器中的内容。3、总体设计本题目通过MATLAB的gui程序设计较为复杂,在gui设计中主要用到三种控件,显示框用到文本编辑框(edittext),说明框用到静态文本框(S
3、tatictext),数字以及运算等按钮用到命令按钮(pushbutton)o然后在通过各个按钮的冋调函数,实现MATLAB的计算功能4、具体设计4.1方案设计首先用MATLABGUI功能,在绘制两个静态文本框和两个文本编辑框,以及30个命令按钮,调整好各控件大小、颜色,整体布局如图所示:;Ptopet±y丄or3ff「▼]queueIHE(1xOdoublearray)caculatorfpushbutton_4_CBelngDeletedBusyActionButtonDownFcnCDataCallba
4、ck「0町ulcontrol(pushbutton^-l"-I")ClippingCreateFcnDeleteFcnEnableExtentFontAngl©FontNameFontSizeFontUnitsFontweightForegroundcolorHandlevisibilityHitTestHorlzontalAlignmentInterruptibleHonLrJon(002.61923J[▼]normalMSSansSerif12.0pointsboldononcenterKeyPressF
5、cnListboxTopMaxon10Min*PositionSelGCtionHighlight+SliderStepStringStyleTag00[7.422.46213.81.846]㈢on[0.010/1]pushbuttonpushbutton_1通过上述界面对控件的大小、颜色、定义等进行调整■nX—DQ和G宀串国齣甸圏盼A当两个静态文本框和两个文本编辑框都绘制完成,然后通过双击个按钮来改写其属性,在m文件中编写其回调函数,最后在运行调试。4.2算法设计(1):数字键设计:0-9的函数都一样(下列
6、以数字键“0”的程序为例),只是参数不同:handles.shu0=get(hObjectA1string1);handles.yuanshu=get(handles.editl,1string1;ifhandles•yuanshu(end)==1N1;handles•yuanshu(end)=11;endifhandles.yuanshu(1)==101;handles.yuanshu=handles.yuanshu(2:end);endhandles•shuO=strcat(handles•yuanshu
7、,handles•shuO);iflength(handles•shuO)<2•relseif(length(handles•shuO)>=2)&&(handles•shuO(end-1)==1)')&&(handles・shuO(1)=='1')temp=handles•shuO(end);handles•shuO(end)=handles.shuO(end-1);handles.shuO(end-1)=temp;endset(handles•editlz1string1「handles•shuO);gui
8、data(hObjectzhandles);(2):退出键函数:close(gcf);退格键:通过取屏幕值,计算出其字符长度,然后取其前N・1项的值来实现退格:handles•yuanshu=get(handles•editl,1string1);handles•yuanshu=handles•yuanshu(1:(end-1));iflength(handles.yuanshu)<1handles
此文档下载收益归作者所有