基于matlab的计算器编程附代码说明书_第1页
基于matlab的计算器编程附代码说明书_第2页
基于matlab的计算器编程附代码说明书_第3页
基于matlab的计算器编程附代码说明书_第4页
基于matlab的计算器编程附代码说明书_第5页
已阅读5页,还剩9页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

11需求分析洗手本次的实验要求是设计一个计算器,吃饭主要功能如下BEEF洗手(1)实现基本数学运算(加减乘除等),吃饭而且要能进行混合运算洗手(2)实现部分函数功能,吃饭如求平方根、BEEF求倒数等洗手(3)能实现小数运算洗手界面与标准计算器界面类似洗手根据要求以及以前的学习情况,吃饭决定使用MATLAB进行编程。洗手MATLAB强大的计算功能以及便捷的GUI设计,吃饭可以较为简便的实现所要求的功能。洗手按照要求,吃饭数据输入和输出支持小数点,吃饭支持四则混合运算,吃饭决定使用如下几个数据进行分析BEEF洗手(13)5洗手SQRT(4)洗手1/2洗手SIN4洗手用以检验是否可以进行加减乘除四则运算、BEEF平方根、BEEF倒数、BEEF正弦的运算。洗手洗手2程序设计洗手MATLAB的程序设计较为简便,吃饭用GUI设计出一个计算器的模型,吃饭然后系统会自动生成一个框架,吃饭在框架中,吃饭写入每一个按键对应的程序就可以实现功能。洗手洗手3调式分析洗手编程的过程中遇到的问题不是很多,吃饭基本就是找要实现各个功能的子程序,吃饭通过上网和去图书馆,吃饭加上自己的编写,吃饭终于实现了实验要求的功能。洗手但是有一点很重要,吃饭MATLAB不支持中文,吃饭所以从路径到文件名必须是全英文的,吃饭不然就无法识别。洗手此外,吃饭给每个按键命名也是很重要的,吃饭不然在生成的程序框架里面,吃饭就无法识别各个按键的作用,吃饭编写程序的时候也就无法做到一一对应。洗手洗手4使用说明洗手程序的使用比较简单,吃饭由于是可视化界面,吃饭直接打开MATLAB,吃饭然后建立一个GUI工程,吃饭再打开生成的FIG文件,吃饭就是一个计算器的界面,吃饭直接按照市面上卖的计算器的方法,吃饭按键使用即可。洗手洗手5测试结果洗手2洗手计算结果为20洗手4SQRT2洗手SIN4结果为洗手1/205洗手经过计算,吃饭这些结果均与实际结果相吻合,吃饭计算器的功能实现的较为完好。洗手洗手6心得体会洗手本次试验由于不限制语言,吃饭于是计算功能强大,吃饭操作简便的MATLAB变成了首选,吃饭MATLAB的GUI设计,吃饭操作是较为简单的,吃饭首先建立一个GUI工程,吃饭然后用可视化界面,吃饭设计出计算器的大致外观,吃饭为每一个按键设置预计的功能,吃饭然后就是将对应的函数写到框架生成的程序中,吃饭然后每个按键就可以实现对应的功能。洗手洗手在设计的过程中还是遇到很多的困难的,吃饭首先就是程序的问题,吃饭搭建出计算器的外观以后,吃饭生成的框架程序是一个看似非常杂乱的程序,吃饭每个按键对应什么功能根本看不出来,吃饭于是我在原来的工程中修改了每一个按键的名称。洗手编程的过程中,吃饭主要就是对全局变量和句柄的控制,吃饭对相应的值赋值以后,吃饭要返回给主程序,吃饭然后就可以在STATICTEXT中显示出来的。洗手句柄是一个很重要的概念,吃饭基本所有的操作都是通过句柄实现的,吃饭MATLAB在创建每一个图形对象时,吃饭都为该对象分配唯一的一个值,吃饭称其为图3形对象句柄HANDLE。洗手句柄是图形对象的唯一标识符,吃饭不同对象的句柄不可能重复和混淆。洗手例如BEEFSET句柄,吃饭属性名1,吃饭属性值1,吃饭属性名2,吃饭属性值2,吃饭,吃饭基本所有关联到图形操作的函数语句都是这样的格式BEEF函数名(句柄,吃饭进行的操作),吃饭因此句柄是一个图形的名称,吃饭是对图形进行操作的媒介。洗手洗手此外,吃饭由于MATLAB是全英文的操作环境,吃饭所以所有的中文路径和中文的文件夹名称均不支持,吃饭不然就会在程序中报错,吃饭虽然可以打开,吃饭但是按键不可以实现功能,吃饭这点是要特别留意的,吃饭一般情况下,吃饭直接将文件保存在默认的WORK路径下即可。洗手洗手经过老师的指点,吃饭我修改了界面,吃饭使其更加美观,吃饭可惜的是MATLA无法实现一个窗口的单独计算器,吃饭这不得不说是一个遗憾吧。洗手洗手本次试验本来打算使用VB进行编程的,吃饭但是VB的计算功能不够强大,吃饭所以在处理四则运算的时候比较麻烦,吃饭于是最后还是决定选择MATLAB,吃饭经过这次实习,吃饭我对MATLAB的操作与GUI界面射界有了更深一步的理解,吃饭知道了回调函数的基本写法以及各个功能的基本函数的内容,吃饭感觉受益匪浅。洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手洗手附录A洗手程序以及注释(注BEEF前面带有的句子是程序自动生成的框架程序)洗手定义函数洗手FUNCTIONVARARGOUTUNTITLEDVARARGIN洗手LASTMODIFIEDBYGUIDEV2529JUN2009160625洗手洗手BEGININITIALIZATIONCODEDONOTEDIT洗手GUI_SINGLETON1BEEF洗手GUI_STATESTRUCTGUI_NAME,MFILENAME,洗手GUI_SINGLETON,GUI_SINGLETON,洗手GUI_OPENINGFCN,UNTITLED_OPENINGFCN,洗手GUI_OUTPUTFCN,UNTITLED_OUTPUTFCN,洗手GUI_LAYOUTFCN,洗手GUI_CALLBACK,BEEF洗手IFNARGINBEEF洗手END洗手洗手4IFNARGOUT洗手VARARGOUT1NARGOUTGUI_MAINFCNGUI_STATE,VARARGINBEEF洗手ELSE洗手GUI_MAINFCNGUI_STATE,VARARGINBEEF洗手END洗手ENDINITIALIZATIONCODEDONOTEDIT洗手洗手洗手FUNCTIONUNTITLED_OPENINGFCNHOBJECT,EVENTDATA,HANDLES,VARARGIN洗手HANDLESOUTPUTHOBJECTBEEF洗手UPDATEHANDLESSTRUCTURE洗手GUIDATAHOBJECT,HANDLESBEEF洗手UIWAITMAKESUNTITLEDWAITFORUSERRESPONSESEEUIRESUME洗手UIWAITHANDLESFIGURE1BEEF洗手定义全局变量JJ,吃饭SHIFT用于数字的设定洗手GLOBALJJSHIFT洗手设置句柄,吃饭用于将按键接收的值返回给主程序洗手SETHANDLESTEXT1,STRING,0BEEF洗手JJ0BEEF洗手SHIFT0BEEF洗手洗手OUTPUTSFROMTHISFUNCTIONARERETURNEDTOTHECOMMANDLINE洗手FUNCTIONVARARGOUTUNTITLED_OUTPUTFCNHOBJECT,EVENTDATA,HANDLES洗手VARARGOUT1HANDLESOUTPUTBEEF洗手洗手洗手洗手EXECUTESDURINGOBJECTCREATION,AFTERSETTINGALLPROPERTIES洗手FUNCTIONEDIT1_CREATEFCNHOBJECT,EVENTDATA,HANDLES洗手HOBJECTHANDLETOEDIT1SEEGCBO洗手EVENTDATARESERVEDTOBEDEFINEDINAFUTUREVERSIONOFMATLAB洗手HANDLESEMPTYHANDLESNOTCREATEDUNTILAFTERALLCREATEFCNSCALLED洗手洗手洗手按键2响应洗手FUNCTIONPUSHBUTTON2_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手GLOBALJJ洗手TEXTSTRINGGETHANDLESTEXT1,STRINGBEEF洗手IFSTRCMPTEXTSTRING,01BEEF洗手ELSE洗手TEXTSTRINGSTRCATTEXTSTRING,2BEEF洗手SETHANDLESTEXT1,STRING,TEXTSTRING洗手END洗手5JJ0BEEF洗手洗手按键3响应洗手FUNCTIONPUSHBUTTON3_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手GLOBALJJ洗手TEXTSTRINGGETHANDLESTEXT1,STRINGBEEF洗手IFSTRCMPTEXTSTRING,01BEEF洗手ELSE洗手TEXTSTRINGSTRCATTEXTSTRING,3BEEF洗手SETHANDLESTEXT1,STRING,TEXTSTRING洗手END洗手JJ0BEEF洗手洗手洗手按键4响应洗手FUNCTIONPUSHBUTTON4_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手GLOBALJJ洗手TEXTSTRINGGETHANDLESTEXT1,STRINGBEEF洗手IFSTRCMPTEXTSTRING,01BEEF洗手ELSE洗手TEXTSTRINGSTRCATTEXTSTRING,4BEEF洗手SETHANDLESTEXT1,STRING,TEXTSTRING洗手END洗手JJ0BEEF洗手洗手洗手按键5响应洗手FUNCTIONPUSHBUTTON5_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手GLOBALJJ洗手TEXTSTRINGGETHANDLESTEXT1,STRINGBEEF洗手IFSTRCMPTEXTSTRING,01BEEF洗手ELSE洗手TEXTSTRINGSTRCATTEXTSTRING,5BEEF洗手SETHANDLESTEXT1,STRING,TEXTSTRING洗手END洗手JJ0BEEF洗手洗手按键6响应洗手FUNCTIONPUSHBUTTON6_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手GLOBALJJ洗手TEXTSTRINGGETHANDLESTEXT1,STRINGBEEF洗手6IFSTRCMPTEXTSTRING,01BEEF洗手ELSE洗手TEXTSTRINGSTRCATTEXTSTRING,6BEEF洗手SETHANDLESTEXT1,STRING,TEXTSTRING洗手END洗手JJ0BEEF洗手洗手洗手洗手按键7响应洗手FUNCTIONPUSHBUTTON7_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手GLOBALJJ洗手TEXTSTRINGGETHANDLESTEXT1,STRINGBEEF洗手IFSTRCMPTEXTSTRING,01BEEF洗手ELSE洗手TEXTSTRINGSTRCATTEXTSTRING,7BEEF洗手SETHANDLESTEXT1,STRING,TEXTSTRING洗手END洗手JJ0BEEF洗手洗手洗手按键8响应洗手FUNCTIONPUSHBUTTON8_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手GLOBALJJ洗手TEXTSTRINGGETHANDLESTEXT1,STRINGBEEF洗手IFSTRCMPTEXTSTRING,01BEEF洗手ELSE洗手TEXTSTRINGSTRCATTEXTSTRING,8BEEF洗手SETHANDLESTEXT1,STRING,TEXTSTRING洗手END洗手JJ0BEEF洗手洗手洗手按键9响应洗手FUNCTIONPUSHBUTTON9_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手GLOBALJJ洗手TEXTSTRINGGETHANDLESTEXT1,STRINGBEEF洗手IFSTRCMPTEXTSTRING,01BEEF洗手ELSE洗手TEXTSTRINGSTRCATTEXTSTRING,9BEEF洗手7SETHANDLESTEXT1,STRING,TEXTSTRING洗手END洗手JJ0BEEF洗手洗手洗手按键0响应洗手FUNCTIONPUSHBUTTON0_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手GLOBALJJ洗手TEXTSTRINGGETHANDLESTEXT1,STRINGBEEF洗手IFSTRCMPTEXTSTRING,01BEEF洗手ELSE洗手TEXTSTRINGSTRCATTEXTSTRING,0BEEF洗手SETHANDLESTEXT1,STRING,TEXTSTRING洗手END洗手JJ0BEEF洗手洗手洗手按键1响应洗手FUNCTIONPUSHBUTTON1_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手GLOBALJJ洗手TEXTSTRINGGETHANDLESTEXT1,STRINGBEEF洗手IFSTRCMPTEXTSTRING,01BEEF洗手ELSE洗手TEXTSTRINGSTRCATTEXTSTRING,1BEEF洗手SETHANDLESTEXT1,STRING,TEXTSTRING洗手END洗手JJ0BEEF洗手洗手洗手按键响应洗手FUNCTIONPUSHBUTTONADD_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手TEXTSTRINGGETHANDLESTEXT1,STRINGBEEF洗手TEXTSTRINGSTRCATTEXTSTRING,BEEF洗手SETHANDLESTEXT1,STRING,TEXTSTRING洗手洗手洗手按键响应洗手FUNCTIONPUSHBUTTONSUB_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手TEXTSTRINGGETHANDLESTEXT1,STRINGBEEF洗手TEXTSTRINGSTRCATTEXTSTRING,BEEF洗手SETHANDLESTEXT1,STRING,TEXTSTRING洗手洗手洗手8按响应洗手FUNCTIONPUSHBUTTONMUL_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手HOBJECTHANDLETOPUSHBUTTONMULSEEGCBO洗手EVENTDATARESERVEDTOBEDEFINEDINAFUTUREVERSIONOFMATLAB洗手HANDLESSTRUCTUREWITHHANDLESANDUSERDATASEEGUIDATA洗手TEXTSTRINGGETHANDLESTEXT1,STRINGBEEF洗手TEXTSTRINGSTRCATTEXTSTRING,BEEF洗手SETHANDLESTEXT1,STRING,TEXTSTRING洗手洗手洗手按键/响应洗手FUNCTIONPUSHBUTTONCHU_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手TEXTSTRINGGETHANDLESTEXT1,STRINGBEEF洗手TEXTSTRINGSTRCATTEXTSTRING,/BEEF洗手SETHANDLESTEXT1,STRING,TEXTSTRING洗手洗手洗手按键响应洗手FUNCTIONPUSHBUTTONEQUAL_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手TEXTSTRINGGETHANDLESTEXT1,STRINGBEEF洗手IFSTRCMPTEXTSTRING,01洗手SETHANDLESTEXT1,STRING,0BEEF洗手ELSE洗手PUSHBUTTON20BCSTRREADTEXTSTRING,FCFBEEF洗手CLEARANSBEEF洗手洗手SWITCHB洗手CASE洗手ANSPUSHBUTTON20CBEEF洗手CASE/洗手IFC0洗手ANSERRORDIVIDEDBYZEROBEEF洗手ELSE洗手ANSPUSHBUTTON20/CBEEF洗手END洗手CASE洗手ANSPUSHBUTTON20CBEEF洗手CASE洗手ANSPUSHBUTTON20CBEEF洗手洗手END洗手这是系统自带的一个回调函数,吃饭回调函数是已经编写好的,吃饭提供给系统调用的函数洗手关于EVAL函数的理解就是EVAL函数相当于将函数中的字符串,吃饭放到命令行中执行。洗手写EVAL的字符串的时候注意单引号的表达就OK了洗手9TEXTSTRINGGETHANDLESTEXT1,STRINGBEEF洗手ANSEVALTEXTSTRINGBEEF洗手SETHANDLESTEXT1,STRING,ANS洗手洗手洗手按键(响应洗手FUNCTIONPUSHBUTTON18_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手TEXTSTRINGGETHANDLESTEXT1,STRINGBEEF洗手IFSTRCMPTEXTSTRING,01洗手SETHANDLESTEXT1,STRING,BEEF洗手ELSE洗手TEXTSTRINGSTRCATTEXTSTRING,BEEF洗手SETHANDLESTEXT1,STRING,TEXTSTRING洗手END洗手洗手洗手按键)响应洗手FUNCTIONPUSHBUTTON19_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手TEXTSTRINGGETHANDLESTEXT1,STRINGBEEF洗手IFSTRCMPTEXTSTRING,01洗手SETHANDLESTEXT1,STRING,BEEF洗手ELSE洗手TEXTSTRINGSTRCATTEXTSTRING,BEEF洗手SETHANDLESTEXT1,STRING,TEXTSTRING洗手END洗手洗手按键SIN响应洗手FUNCTIONPUSHBUTTONSIN_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手TEXTSTRINGGETHANDLESTEXT1,STRINGBEEF洗手STRCMPTEXTSTRING,0洗手IFSTRCMPTEXTSTRING,01洗手SETHANDLESTEXT1,STRING,0BEEF洗手ELSE洗手ASTRREADTEXTSTRING,FBEEF洗手ASINABEEF洗手SETHANDLESTEXT1,STRING,A洗手END洗手洗手洗手按键COS响应洗手FUNCTIONPUSHBUTTONCOS_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手TEXTSTRINGGETHANDLESTEXT1,STRINGBEEF洗手IFSTRCMPTEXTSTRING,01洗手SETHANDLESTEXT1,STRING,0BEEF洗手10ELSE洗手ASTRREADTEXTSTRING,FBEEF洗手ACOSABEEF洗手SETHANDLESTEXT1,STRING,A洗手END洗手洗手洗手EXECUTESONBUTTONPRESSINPUSHBUTTON22洗手TEXTSTRINGGETHANDLESTEXT1,STRINGBEEF洗手STRCMPTEXTSTRING,0洗手IFSTRCMPTEXTSTRING,01洗手SETHANDLESTEXT1,STRING,0BEEF洗手ELSE洗手ASTRREADTEXTSTRING,FBEEF洗手A0ABEEF洗手SETHANDLESTEXT1,STRING,A洗手END洗手洗手洗手按键CLEAR响应洗手FUNCTIONPUSHBUTTONCL_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手SETHANDLESTEXT1,STRING,0BEEF洗手洗手按键X2响应洗手FUNCTIONPUSHBUTTONCHENGFANG_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手TEXTSTRINGGETHANDLESTEXT1,STRINGBEEF洗手IFSTRCMPTEXTSTRING,01洗手SETHANDLESTEXT1,STRING,0BEEF洗手ELSE洗手ASTRREADTEXTSTRING,FBEEF洗手AAABEEF洗手SETHANDLESTEXT1,STRING,A洗手END洗手洗手洗手按键SQRT响应洗手FUNCTIONPUSHBUTTONSQRT_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手TEXTSTRINGGETHANDLESTEXT1,STRINGBEEF洗手IFSTRCMPTEXTSTRING,01洗手SETHANDLESTEXT1,STRING,0BEEF洗手ELSE洗手ASTRREADTEXTSTRING,FBEEF洗手ASQRTABEEF洗手SETHANDLESTEXT1,STRING,A洗手11END洗手洗手按键响应洗手FUNCTIONPUSHBUTTONNODE_CALLBACKHOBJECT,EVENTDATA,HANDLES洗手GLOBALJJ洗手TEXTSTRINGGETHANDLESTEXT1,STRINGBEEF洗手IFSTRCMPTEXTSTRING,01洗手SETHANDLESTEXT1,STRING,0BEEF洗手JJ1BEEF洗手ELSE洗手TEXTSTRINGSTRCATTEXTSTRING,BEEF洗手SETHANDLESTEXT1,STRING,TEXTSTRING洗手END

温馨提示

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

评论

0/150

提交评论