




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一课程设计目的本课程是为自动化专业本科生开设的专业课程设计课。通过本课程的课程设计实践帮助学生巩固关于数据结构、算法、程序设计的基础知识。通过本课程设计,学生可以初步掌握开发一个小型实用系统的基本方法,提高运用编程软件实现gui程序设计的能力。二课程设计题目及要求设计题目:数学计算器的开发。 2.1课程设计的基本要求:a. 熟悉和掌握matlab 程序设计方法。b. 掌握matlab gui 程序设计。2.2课程设计的内容要求利用matlab 设计实现一个图形用户界面的计算器程序,要求实现:a. 具有友好的用户图形界面。实现十进制数的加、减、乘、除、乘方、取模等简单计算。b. 科学计算函数,包
2、括(反)正弦、(反)余弦、(反)正切、(反)余切、开方、指数等函数运行。c. 能够保存上次历史计算的答案,先是答案存储器中得内容。d. 有清除键,能清除操作,并对不正确的表达式能指出其错误原因。2.3题目分析本题目通过matlab的gui程序设计较为简单,在gui设计中主要用到三种控件,显示框用到文本编辑框(edit text),说明框用到静态文本框(static text),数字以及运算等按钮用到命令按钮(push button)。然后在通过各个按钮的回调函数,实现简单的计算功能。2.4掌握书写程序设计开发文档的能力2、具体设计2.1 各功能界面设计gui设计界面:然后通过双击个按钮来改写其
3、属性,在m文件中编写其回调函数,最后在运行调试2.2 各功能模块实现算法设计:a. 数字键设计:09以及小数点函数都一样,只是参数不同:global jja= get(handles.edit1,string);if(strcmp(a,0)=1)&(jj=0) set(handles.edit1,string,1) ;elsea=strcat(a,1);set(handles.edit1,string,a)endjj=0;b. 四则运算函数:global jjglobal ja=get(handles.edit1,string)a=strcat(a,+)if(jj=0) set(handles
4、.edit1,string,a) jj=1;endj=0;c. 科学计算函数:s = get(handles.edit1,string);if(strcmp(s,0)=1) set(handles.edit1,string,0) ;elsea = strread(s, %f);a=sin(a);set(handles.edit1,string,a)endd. 退格键:通过取屏幕值,计算出其字符长度,然后取其前n-1项的值来实现退格:global jjb = get(handles.edit1,string);if(strcmp(b,0)=1)&(jj=0) set(handles.edit1,
5、string,0) ;else ss=char(b); l=length(b); b=ss(1:l-1);set(handles.edit1,string,b) endjj=0;e. 清屏键函数:set(handles.edit1,string,0) ;2.3 各模块实现结果a. 数字键:b. 四则运算函数:c. 科学计算函数:sin1的计算结果=3、结果分析3.1测试结果:(1+9)/5计算结果=22*8计算结果=16arcsin1计算结果=经过计算,这些结果均与实际结果相吻合,计算器的功能实现的较为完好。3、课程设计源代码gui_singleton = 1;gui_state = stru
6、ct(gui_name, mfilename, . gui_singleton, gui_singleton, . gui_openingfcn, ns_openingfcn, . gui_outputfcn, ns_outputfcn, . gui_layoutfcn, , . gui_callback, );if nargin & ischar(varargin1) gui_state.gui_callback = str2func(varargin1);endif nargout varargout1:nargout = gui_mainfcn(gui_state, varargin:)
7、;else gui_mainfcn(gui_state, varargin:);endfunction ns_openingfcn(hobject, eventdata, handles, varargin)handles.output = hobject;guidata(hobject, handles);function varargout = ns_outputfcn(hobject, eventdata, handles)varargout1 = handles.output;function edit1_callback(hobject, eventdata, handles)fun
8、ction edit1_createfcn(hobject, eventdata, handles)if ispc set(hobject,backgroundcolor,white);else set(hobject,backgroundcolor,get(0,defaultuicontrolbackgroundcolor);endfunction pushbutton1_callback(hobject, eventdata, handles)global jja=get(handles.edit1,string);if(strcmp(a,0.)=1)&(jj=0) set(handles
9、.edit1,string,0.) ;else ss=char(a); l=length(a); a=ss(1:l-1);set(handles.edit1,string,a)endjj=0;function pushbutton2_callback(hobject, eventdata, handles)global jset(handles.edit1,string,0)j=0;function pushbutton3_callback(hobject, eventdata, handles)global jja=get(handles.edit1,string)if(strcmp(a,0
10、)=1)&(jj=0) set(handles.edit1,string,1)else a=strcat(a,1)set(handles.edit1,string,a)endjj=0function pushbutton4_callback(hobject, eventdata, handles)global jja=get(handles.edit1,string)if(strcmp(a,0)=1)&(jj=0) set(handles.edit1,string,4)else a=strcat(a,4)set(handles.edit1,string,a)endjj=0function pu
11、shbutton5_callback(hobject, eventdata, handles)global jjglobal ja=get(handles.edit1,string)a=strcat(a,+)if(jj=0) set(handles.edit1,string,a) jj=1;endj=0;function pushbutton6_callback(hobject, eventdata, handles)global jja=get(handles.edit1,string)if(strcmp(a,0)=1)&(jj=0) set(handles.edit1,string,6)e
12、lse a=strcat(a,6)set(handles.edit1,string,a)endjj=0function pushbutton7_callback(hobject, eventdata, handles)global jja=get(handles.edit1,string)if(strcmp(a,0)=1)&(jj=0) set(handles.edit1,string,8)else a=strcat(a,8)set(handles.edit1,string,a)endjj=0function pushbutton8_callback(hobject, eventdata, h
13、andles)global jja=get(handles.edit1,string)if(strcmp(a,0)=1)&(jj=0) set(handles.edit1,string,0)else a=strcat(a,0)set(handles.edit1,string,a)endfunction pushbutton9_callback(hobject, eventdata, handles)global jja=get(handles.edit1,string)if(strcmp(a,0)=1)&(jj=0) set(handles.edit1,string,2)else a=strc
14、at(a,2)set(handles.edit1,string,a)endjj=0function pushbutton10_callback(hobject, eventdata, handles)global jja=get(handles.edit1,string)if(strcmp(a,0)=1)&(jj=0) set(handles.edit1,string,7)else a=strcat(a,7)set(handles.edit1,string,a)endjj=0function pushbutton11_callback(hobject, eventdata, handles)g
15、lobal jja=get(handles.edit1,string)if(strcmp(a,0)=1)&(jj=0) set(handles.edit1,string,9)else a=strcat(a,9)set(handles.edit1,string,a)endjj=0function pushbutton12_callback(hobject, eventdata, handles)global jjglobal ja=get(handles.edit1,string)a=strcat(a,-)if(jj=0) set(handles.edit1,string,a) jj=1;end
16、j=0;function pushbutton13_callback(hobject, eventdata, handles)global jjglobal ja=get(handles.edit1,string)a=strcat(a,*)if(jj=0) set(handles.edit1,string,a) jj=1;endj=0;function pushbutton14_callback(hobject, eventdata, handles)global jja=get(handles.edit1,string)if(strcmp(a,0)=1)&(jj=0) set(handles
17、.edit1,string,3)else a=strcat(a,3)set(handles.edit1,string,a)endjj=0function pushbutton15_callback(hobject, eventdata, handles)global jja=get(handles.edit1,string)if(strcmp(a,0)=1)&(jj=0) set(handles.edit1,string,5)else a=strcat(a,5)set(handles.edit1,string,a)endjj=0function pushbutton16_callback(ho
18、bject, eventdata, handles)global jjglobal ja=get(handles.edit1,string)a=strcat(a,.)if(j=0) set(handles.edit1,string,a) jj=0;j=1endfunction pushbutton17_callback(hobject, eventdata, handles)global jjglobal jglobal ma=get(handles.edit1,string)a=strcat(a,/)if(jj=0) set(handles.edit1,string,a) jj=1;endj
19、=0;m=0function pushbutton18_callback(hobject, eventdata, handles)a=get(handles.edit1,string)b=eval(a)set(handles.edit1,string,num2str(b2)function pushbutton19_callback(hobject, eventdata, handles)a=get(handles.edit1,string);b=eval(a)b=sqrt(b)set(handles.edit1,string,num2str(b)function pushbutton20_c
20、allback(hobject, eventdata, handles)a=get(handles.edit1,string);b=eval(a)b=b*pi/180;b=sin(b);set(handles.edit1,string,b)function pushbutton21_callback(hobject, eventdata, handles)a=get(handles.edit1,string);b=eval(a)b=b*pi/180;b=cos(b);set(handles.edit1,string,b)function pushbutton22_callback(hobjec
21、t, eventdata, handles)a=get(handles.edit1,string);b=eval(a)if(mod(b,90)=0)b=b*pi/180;b=tan(b);set(handles.edit1,string,b)else set(handles.edit1,string,error:) endfunction pushbutton23_callback(hobject, eventdata, handles)a=get(handles.edit1,string);b=eval(a)if(b=0)b=b*pi/180;b=cot(b);set(handles.edi
22、t1,string,b)else set(handles.edit1,string,error)endfunction pushbutton24_callback(hobject, eventdata, handles)a=get(handles.edit1,string)b=eval(a)b=asin(b)b=b*180/piset(handles.edit1,string,num2str(b)function pushbutton25_callback(hobject, eventdata, handles)a=get(handles.edit1,string)b=eval(a)b=aco
23、s(b)b=b*180/piset(handles.edit1,string,num2str(b)function pushbutton26_callback(hobject, eventdata, handles)a=get(handles.edit1,string)b=eval(a)b=atan(b)b=b*180/piset(handles.edit1,string,num2str(b)function pushbutton27_callback(hobject, eventdata, handles)a=get(handles.edit1,string)b=eval(a)b=acot(
24、b)b=b*180/piset(handles.edit1,string,num2str(b)function pushbutton28_callback(hobject, eventdata, handles)a=get(handles.edit1,string)b=eval(a)if(b0)b=log10(b)set(handles.edit1,string,num2str(b)else set(handles.edit1,string,error) endfunction pushbutton29_callback(hobject, eventdata, handles)a=get(ha
25、ndles.edit1,string)if(b0)b=eval(a)b=log2(b)set(handles.edit1,string,num2str(b)else set(handles.edit1,string,error)endfunction pushbutton30_callback(hobject, eventdata, handles)a=get(handles.edit1,string);b=eval(a)b=-bset(handles.edit1,string,num2str(b)function pushbutton31_callback(hobject, eventdat
26、a, handles)global jja=get(handles.edit1,string)if(strcmp(a,0)=1)&(jj=0) set(handles.edit1,string,()else a=strcat(a,()set(handles.edit1,string,a)endjj=0function pushbutton32_callback(hobject, eventdata, handles)a=get(handles.edit1,string)s1=strcat(a,)set(handles.edit1,string,s1)function pushbutton33_callback(hobject, eventdata, handles)globa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 殡仪服务与社区公益项目合同
- 车辆抵押权登记及抵押物抵押合同
- 钢管混凝土拱桥泵送压力专题研究
- 地砖施工工艺流程
- 【课件】+弹力+-2024-2025学年人教版(2024)物理八年级下册+
- 智慧园林云平台整体解决方案智慧公园整体解决方案
- 2024年电力负荷控制员(技师)职业鉴定考试题库(含答案)
- 非金属矿业数字化转型
- 2024年高考语文备考之教考结合:新高考现代文阅读Ⅱ题型
- 华为企业培训管理
- 新生儿吞咽吸吮功能训练
- 2025-2030年中国期货行业市场深度调研及竞争格局与投资策略研究报告
- 2025-2030年中国农业科技行业市场深度调研及前景趋势与投资研究报告
- 成人重症患者颅内压增高防控护理专家共识
- 2025至2030年中国肿瘤治疗行业市场发展潜力及前景战略分析报告
- 广东省佛山市南海区2023-2024学年七年级下学期期末生物学试题(原卷版)
- 《建筑基坑工程监测技术标准》(50497-2019)
- 2023年深静脉血栓形成的诊断和治疗的指南
- 生字本A4打印(田格+拼音)
- 彩钢瓦屋面渗漏水维修施工方案
- 地下电缆土方开挖保护方案5页
评论
0/150
提交评论