MATLAB数学计算器课程设计.doc_第1页
MATLAB数学计算器课程设计.doc_第2页
MATLAB数学计算器课程设计.doc_第3页
MATLAB数学计算器课程设计.doc_第4页
MATLAB数学计算器课程设计.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

成绩 课程设计报告 题 目 数学计算器的开发 课 程 名 称 软件设计 院 部 名 称 机电工程 专 业 自动化 班 级 09自动化 学 生 姓 名 倪伟 学 号 0904105005 课程设计地点 C208 课程设计学时 2周 指 导 教 师 应明峰 金陵科技学院教务处制一课程设计目的本课程是为自动化专业本科生开设的专业课程设计课。通过本课程的课程设计实践帮助学生巩固关于数据结构、算法、程序设计的基础知识。通过本课程设计,学生可以初步掌握开发一个小型实用系统的基本方法,提高运用编程软件实现GUI程序设计的能力。二课程设计题目及要求设计题目:数学计算器的开发。 2.1课程设计的基本要求:A. 熟悉和掌握MATLAB 程序设计方法。B. 掌握MATLAB GUI 程序设计。2.2课程设计的内容要求利用MATLAB 设计实现一个图形用户界面的计算器程序,要求实现:A. 具有友好的用户图形界面。实现十进制数的加、减、乘、除、乘方、取模等简单计算。B. 科学计算函数,包括(反)正弦、(反)余弦、(反)正切、(反)余切、开方、指数等函数运行。C. 能够保存上次历史计算的答案,先是答案存储器中得内容。D. 有清除键,能清除操作,并对不正确的表达式能指出其错误原因。2.3题目分析本题目通过MATLAB的gui程序设计较为简单,在gui设计中主要用到三种控件,显示框用到文本编辑框(edit text),说明框用到静态文本框(Static text),数字以及运算等按钮用到命令按钮(push button)。然后在通过各个按钮的回调函数,实现简单的计算功能。2.4掌握书写程序设计开发文档的能力2、具体设计2.1 各功能界面设计GUI设计界面:然后通过双击个按钮来改写其属性,在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.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,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 = struct(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:);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)function 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.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)=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 pushbutton5_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)else 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, handles)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=strcat(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)global 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;endj=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.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(hObject, 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=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_Callback(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(hObject, 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.edit1,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=acos(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(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(handles.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, eventdata, 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,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论