基于matlab的平面四杆机构运动分析-毕业论文.docx
毕业论文基于MATLAB的平面四杆机构运动分析装院部机械与电子工程学院订摘要IAbstractII1绪论12平面四杆机构运动分析22.1 平面四杆机构简介22.2 平面四杆机构类型分析32.3 建立平面四杆机构的数学模型42.3.1 建立平面四杆机构的封闭矢量位置方程式42.3.2 运用矢量法和矩阵法求解封闭矢量方程式52.3.3 求解过程涉及的数学、物理计算方法63基于MATLAB的运动分析程序设计71.1 1MATLAB简介71.2 程序设计流程81.3 编写程序的M文件101.3.1 编写fun函数101.3.2 编写主程序101.4 程序运行输出结果124基于MATLAB的GUI分析系统设计154.1 GUl简介154.2 GUI界面设计154.3 GUI代码编写164.3.1 EditTeXt代码编写164.3.2 Pop-upMenu代码编写164.4 GUI分析系统运行效果175结论18参考文献20致谢20附录20附录一主函数程序代码20附录二popupmenu4_Callback函数下程序代码23ContentsAbstractII1 Introduction12 Theanalysisofmotionforplanarfbur-barmechanism22.1 Intoductiontotheplanarfour-barmechanism22.2 Analysisforthetypesofplanarfour-barmechanism32.3 Buildthemathematicalmodelofplanarfbur-barmechanism42.3.1 Buildtheclosedpositionvectorequationforplanarfbur-barmechanism42.3.2 Applythevector&matrixmethodtosolvetheclosedvectorequation42.3.3 Mathematical&physicalcalculationmethodinvolvedinthesolvingprocess53 TheprogramdesignforthemotionanalysisbasedonMATLAB73.1 IntroductiontoMATLAB73.2 Theprogramdesignprocess73.3 WritetheM-fileforprogram93.3.1 Writethefunfunction93.3.2 Writethemainfunction93.4 Theoutputofrunningtheprogram114 ThedesignofGUIanalysissystembasedonMATLAB144.1 IntroductontoGUI144.2 TheinterfacedesignofGUI144.3 WritetheGUIcode154.3.1 WritetheEditTextcode154.3.2 WritethePop-upMenucode154.4 TherunningeffectoftheGUIanalysissystem165 Conclusion19References20Acknowledgement21Appendix22Appendix I Themainfunctioncode22Appendix II Thepopupmenu4_Callbackfunctioncode25基于MATLAB的平面四杆机构运动分析摘要:建立以平面四杆机构为研究对象的数学模型,以MATLAB软件为载体,利用UATLAB矩阵数据分析处理功能,设计了平面四杆机构运动分析程序。利用MATLAB的GUI设计功能,设计了平面四杆机构运动分析交互式界面软件。机构设计者只需输入相关参数就可得到对应的分析结果,再将模拟分析结果与设计要求比较,得出更好的决策,为四杆机构设计提供了一种实用的软件与方法。关键词:平面四杆机构MATLAB角位移角速度角加速度THEANALYSISOFMOTIONFORPLANARFOUR-BARMECHANISMBASEDONMATLABSOFTWAREAbstract:Amathematicalmodelofmotionanalysiswasestablishedinplanarfour-barmechanism,andanalyticalsoftwarewasdeveloped.ThesoftwareadoptedMatlabasadesignlanguage.Itcombinedparametricdesignwithinteractivedesignandhadgoodinterfaceforusers.Theanalyticalresultwasobtainedassoonasinputparameterswasimportedandthedeviserscanmakedecision-makingofmodificationbythecomparinganalyticalresultwithdesigndemand.Itprovidesanappliedsoftwareandmethodforthedesignofplanarfour-barmechanism.Keywords:PlanarFour-barMechanism;MATLAB;AngularDisplacement;AngularVelocity;AngularAcceleration1绪论连杆机构在现实生活中,广泛应用于众多工农业机械和工程机械。平面四杆机构是连杆机构的最简单形式,而平面四杆机构的最基本类型是较链四杆机构,它是由转动副将各构件的头尾联接起的封闭四杆系统,并使其中一个构件固定而组成。被固定件称为机架,与机架直接较接的两个构件称为连架杆,不直接与机架较接的构件称为连杆。连架杆如果能作整圈运动就称为曲柄,否则就称为摇杆,连杆机构的最基本形式是平面四杆机构,它是其它所以连杆机构的基础。所以,对平面四杆机构进行研究基本可以概括连杆机构内在的基本原理,从而用以指导连杆机构的设计。机构运动学综合是按照给定的运动特性对机构进行系统的设计的过程,包括型综合和尺度综合两大主要内容,主要综合方法有解析法、作图法和实验法。作图法和实验法工作量大,设计精度低,仅适用于对机构精度要求不高的场合。近几十年来,随着工业技术的高速发展,人们对机构的复杂程度和精度要求越来越高,作图法和实验法已不能满足要求,而基于计算机辅助设计(例如MATLAB软件)的解析法则得到了广泛的应用。此课题的主要内容是系统地对平面四杆机构连杆曲线进行研究,从而来获得连杆机构基本的原理和综合方法,以便在实际中得到应用;主要特色是在各个设计进度中将会大量应用计算机高级语言MATLAB编程来辅助设计和仿真平面四杆机构。钱链四杆机构的运动学分析是机构学中典型的机构运动分析之一,如果设计校链四杆机构时能及时图示其运动轨迹和速度、加速度分析,从而将图示结果与设计要求相比较,即可以及时修改设计中的偏差。目前,MALTAB已经不再仅仅是“矩阵实验室”,而已经成为国际上最流行的科学与工程计算的软件工具,以及一种具有广泛应用前景的全新的计算机高级编程语言,它在国内外高校和科研部门正扮演着越来越重要的角色,功能也越来越大,并不断适应新的要求提出新的解决办法。可以预见,在科学运算与科学绘图领域,MATLAB语言将长期保持其独一无二的地位。MATLAB是Mathworks公司于1982年推出的一套功能大的工程计算软件,广泛应用于自动控制、机械设计、流体力学和数理统计等工程领域,被誉为巨人肩上的工具。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境。工程人员通过使用MATLAB提供的工具箱,可以高效求解复杂的工程问题,并可以对系统进行动态仿真,用强大的图形功能对数值计算结果进行显示。本次在MATLAB环境下开发了一个平面四杆机构运动分析系统,只要在系统图形界面的文本编辑框中交互地输入平面四杆机构四杆的长度和主动曲柄的角速度,就能迅速地输出当主动曲柄转动1周时连杆、从动杆的角位移、角速度、角加速度的变化规律曲线,具有融计算与绘图为一体,操作简便、界面友好,计算速度快,准确性高的特点。本文以曲柄摇杆机构为分析对象,借助MATLAB软件进行运动分析。曲柄摇杆机构是平面四杆机构中最基本的结构之一,它可以用来实现转动和摆动之间运动形式的转换或传递动力。对曲柄摇杆机构进行运动分析的主要内容是:在机构尺寸参数已知的情况下,假定主动曲柄做匀速转动,从运动几何关系上分析连杆和摇杆的角位移、角速度、角加速度等运动参数的变化情况。本论文的主要内容是平面四杆机构连杆、从动杆运动分析系统的开发,其意义在于:(1)深入研究计算机辅助功能在设计平面四杆机构曲线方面的应用,从而指导实践;(2)总结出平面四杆机构轨迹综合的理论基础,从而指导多杆或复杂的低副平面机构的综合;(3)运用MATLAB软件强大的矩阵分析计算功能与图形交互式界面开发系统,设计出可以方便、快捷地实现平面四杆机构运动分析的应用系统。(4)应用于机构设计过程中,利用本系统对连杆、从动杆的角位移、角速度、角加速度分析结果,进一步指导、修正、改进机构设计,以便更好地实现预定功能和效果。2平面四杆机构运动分析2.1 平面四杆机构简介平面四杆机构是由四个刚性构件用低副链接组成的,各个运动构件均在同一平面内运动的机构。平面四杆机构最基本的形式是钱链四杆机构。校链四杆机构是所有运动副均为转动副的四杆机构,它是平面四杆机构的基本形式,其他四杆机构都可以看成是在它的基础上演化而来的。选定其中一个构件作为机架之后,直接与机架链接的构件称为连架杆,不直接与机架连接的构件称为连杆,能够做整周回转的构件被称作曲柄,只能在某一角度范围内往复摆动的构件称为摇杆。如果以转动副连接的两个构件可以做整周相对转动,则称之为整转副,反之称之为摆转副。较链四杆机构中,按照连架杆是否可以做整周转动,可以将其分为三种基本形式,即曲柄摇杆机构,双曲柄机构和双摇杆机构。曲柄摇杆机构,两连架杆中一个为曲柄一个为摇杆的轨链四杆机构。双曲柄机构,具有两个曲柄的钱链四杆机构称为双曲柄机构。其特点是当主动曲柄连续等速转动时,从动曲柄一般做不等速转动。在双曲柄机构中,如果两对边构件长度相等且平行,则成为平行四边形机构。这种机构的传动特点是主动曲柄和从动曲柄均以相同的角速度转动,而连杆做平动。双摇杆机构,双摇杆机构是两连架杆均为摇杆的钱链四杆机构。由于钱链四杆机构是平面四杆机构的基本类型,其他四杆机构可看做由它演化而来,所以在这里以钱链四杆机构为研究对象。2.2 平面四杆机构类型分析平面四杆机构中,根据是否存在整转副以及整转副的位置,平面四杆机构可分为曲柄摇杆机构,双曲柄机构,双摇杆机构三种。平面四杆机构有曲柄的前提条件是运动副中必存在整转副,而整转副存在的条件为:符合杆长条件,即:最短杆长度+最长杆长度W其余两杆长度的和组成该整转副的两杆中一定有一杆为最短杆上述条件表明,当四杆机构各杆长度满足杆长条件时,有最短杆参与构成的转动副都是周转副,而其它的转动副是摆动副。故四杆机构有曲柄的条件是:(1)各杆长度应符合杆长条件。(2)其最短杆为连架杆或机架。由此分析,可得出三种类型的平面连杆机构的组成条件:曲柄连杆机构:符合杆长条件且最短杆为连架杆;双曲柄机构:符合杆长条件且最短杆为机架;双摇杆机构:符合杆长条件且最短杆为连杆。如图2-1所示,为曲柄摇杆机构。2.3 建立平面四杆机构的数学模型要想利用解析法对平面四杆机构运动进行分析,首先要建立平面四杆的数学模型。曲柄摇杆机构和双曲柄机构的机构模型如图2-1所示,以该模型为研究对象进行研究。2.3.1 建立平面四杆机构的封闭矢量位置方程式当使用矢量法建立机构的位置方程时,需将构件用矢量表示,且作出机构的封闭矢量多边形。如图2/所示,首先建立一个直角坐标系。设构件1的长度为八,其方位角为a,为构件1的杆矢量,即=机构中其他构件都可以表示成相应的杆矢量:l2=BC.h=DC,h=AD0各矢量之和等于零。即:Zl+2=3+4(2-1)式(2-1)即为图2-1所示四杆机构的封闭矢量位置方程式,对于一个已知的平面四杆机构,其各构件的长度和原动件1的运动规律是已知的,即心/2,/3,/4和a为已知。又由于构件CD为机架,故。4二0,由此矢量方程可求解两个未知方向角仇,仇。各杆矢量的方向可自由确定,本文矢量方向如图21所示,但各杆矢量的方位角°应由X轴开始,并以逆时针方向计为正方向。这里研究的仅是曲柄连杆机构和双曲柄机构的运动,且是以曲柄为主动件,作等角速度劭运动的情况。2.3.2 运用矢量法和矩阵法求解封闭矢量方程式以所建立的平面四杆机构模型为基础,运用矢量法和矩阵法建立封闭矢量方程式,并在此基础上对平面四杆机构分别进行位置分析、速度分析和加速度分析。(1)位置分析运用矢量分析法,角位移方程的分量方程为:cosOi+/2cos仇一/3COSd14=0(2-2)sin+/2sin-3siny=0(2-3)(2)速度分析对式22,式23左右两侧分别对时间t求解一阶导数,即可得到角速度方程,即:/1691COS+11CO2COS02-hcoiCOS=0(2-4)lsin+I22Sine2/3sina=0(2.5)注意排版,下同表示成矩阵形式为:r-2sin21 /2 COSe2sin0=(2-cos-6)利用MATLAB的矩阵分析运算,解得:2sin(仇一。3)sin(9。2)693=-691,3Sin(O3-仇)(2-8)注意:32,3分别表示连杆(构件2)和连架杆(构件3)的角速度。(3)加速度分析对式2-6左右两边同时对时间t求一阶导数,得到角加速度方程矩阵式为:(-/2 sin 23sin63r-ey22cos Oi 欣/3 COSe3、-692/2 sin d>33sin 3)3lcos.由 SineI(2-9)利用MArLAB的矩阵分析运算,解得:-d>2 /i cos( i) 02 Il C0S(2 03)+ 6>32 /33sin(2-3)(2-10)az,2COSe2 -3COSy )1 «3+ 6913sin(3-2)(2-11)G)11COS(I仇)+CO22/2(O3213COS(O302)a3=注意:a?,*分别表示连杆(构件2)和连架杆(构件3)的角加速度。233求解过程涉及的数学、物理计算方法在求解过程中,主要涉及到高等数学和大学物理等相关科目的内容,在对平面四杆机构的数学模型求解过程中所涉及到的知识如以下所示:(1)基础物理学中对时间t求导方法角位移6对时间t求导得角速度力:dco dt ,单位为rad / s(2-11)角速度。对时间t求导得角加速度。:d_2dtt2,单位为rads2(2-12)(2)高等数学中涉及的求导公式dsin 夕dtCOSe = 0cos 6 dt(2-13)dcos。d.z.八=sin=一。Smdtdt(wv)r=UV÷u,v(2-15)3基于MATLAB的运动分析程序设计3.1 MATLAB简介MATLAB是由美国mathwork公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像M叩Ie等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。在这里,利用了MATLAB的矩阵运算功能,对平面四杆机构的运动进行了相关的分析。3.2 程序设计流程按照现代程序设计的观点,算法(Algorithm)是一系列解决问题的清晰指令。算法是一个程序的灵魂,一个准确无误的算法是程序设计成功的关键。任何算法功能都能够通过三种基本结构:顺序结构,选择结构,循环结构的组合来实现。为了更加方便清楚准确的编写程序,首先把算法以流程图的形式表达出来。程序流程图是人们对解决问题的方法、思路或算法的一种描述。采用简单规范的符号,画法简单,结构清晰,逻辑性强,便于描述,容易理解综合运用三种逻辑结构,并且仔细推算,以保证算法精确,节省空间和时间,以及达到高效率。本论文程序设计的流程图如图3-1所示。图3-1程序流程图M文件是MATLAB软件所特有的文件类型,是用于保存MATLAB源代码的的文本文件,文件后缀是3.3.1 编写fun函数编写fun函数,fun函数的作用可表述为:当赋给函数初值(包括一个1义2的数组,主动曲柄角位置a,各杆长度,/2,/3,),利用MATLAB自带的fsolve函数功能,计算出连杆、从动杆的相应角位置仇,仇,并存储于一个数组内。所编写的fun函数的M文件如图32所示。图3-2fun函数的M文件3.3.2 编写主程序根据上面编写的程序设计流程,参照本论文第2章节对平面四杆机构的运动分析,利用MATLAB语言编写程序代码。所编写的主函数的M文件的部分内容如图3-3所示。完整的程序代码参考附录一。口籍盅器-C:UsersSouthjiangDesktop毕业Hjiangunwen.mkzH回taaa文件(F)髓(E)文本颠(D)窗口(W)帮助(三),X1234567;H)15161718192021I2223242526272829303132I333435363738394041I42田E日5口dispC*平面四杆机构的运动分析*');ll=input('请输入主动曲柄(构件1)的长度11=');12=input('请输入连杆(构件2)的长度12=');13=input('请输入从动杆(构件3)的长度13=');14=input('请输入机架(构件4)的长度14=,);rs=ll121314;ininum=min(rs);maxinu=max(rs);if(mininum+maxinum)>(sum(rs)-mininum-jnaxinum)disp('此机构不漏足杆长条件,本程序不予分析,程序终止');break;end;if14<=1214<=1314<=L1disp('此机构类型为双曲柄机构');elseif11<=12&11<=13&11<=14disp('此机构类型为曲柄挂杆机构');elsedisp(此机构类型为双提杆机构,本例不予考虑);break;end;wl=input('输入主动件角速度w2三,);thl=0:l/6:2*pi;%生成主动曲柄的在(2pi间13个角度值th23=zeros(length(thl),2);options=optinset(,display,off,);form=l:length(thl)th23(nf:)=fsolve(,fun'911,options,thl(m),llj12,13,14);%计算主动曲柄每个角位置相对应的连杆、从动杆的角位置end;x=ll*cos(thl)+12*cos(th23(:,D,);y=ll*sin(thl)+12*sin(th23(:,l)f);%(x,y)表示每个角位移对应的C点位贵XX=1l*cos(thl);yy=ll*sin(thl);%(,yy)表示每个角位移对应的B点位置figured)plot(x;xx,yjyy,k,014,00,k-,x,y,koxxjyyj,ks,)图3-3主函数M文件的部分内容在M文件编辑器中打开主函数的M文件,点击图标,在MATLAB中执行程序,程序执行输出的数据结果的部分内容如图3-4所示。MATlAB文件(F)娥旧调试(B)颠(D)窗口四)利助(三)QXcc等*?当前Q利Y);ICUJSerSSocthjangtJesktmMRiHjiang二)回WorkspaceRX瘴昌-f¾基本二J*I类型Brs(356585100doub-J三s13<73x1double>dolBs21<73x1double>doulBs32<73x1double>doulBthl<1x73doubl>doulBth23<73x2doubl>doul田Wl20doulSw2<73x1double>doulSw3<73x1double>doul<1x13double>Id叫TITcommandHistoryK×决捶方式21如何*加2)及近更新1B%-Urdtnovndate-K-L3=inputC输入连杆长度-W=inputC输入从动杆长度-L2=inputCddddddddd')CommandWindowTogetstarted,selectMATLABHelDorDenoSfromtheHelpmenu.平面四杆机构的运动分析*清茹入主动曲柄(构件1)的长度清输入连杆(构件2)的长度清粕入从动杆(构件3)的长度济输入机架(构件4)的长度此机构类型为曲柄接杆机构输入主动件角速度v2=2011=3512=6513=8514=1001.3=);1.4=")JClCLl三iut('给入机柒长度-Ll=InputCLl=?');-3-Ll=input(,L1=?').5ClC-Ll=Input('大风Ll=');-6clc-Ll=Input('粕入机架长度-L2=input('输入曲柄长度1.3=input('输入连杆长度1.4=ixt('输入从动杆长度-4-56B-%13-5-5上午2:43%1.I=');1.l=');1.2=');1.3,);1.4三,);1a=2345H-min(a)卜CWIL曲柄转角0连杆转角81.6644从动样转角130.8322连杆角速度从动样角速度连杆加速度从动才-10.7692-10.7692-218.972348.55045.000078.8273128.1774-11.8803-10.4249-169.3678109.411610.000075.7492125.6418-12.6937-9.8172-115.4146168.374015.000072.5063123.2892-13.1980-8.9655-61.7597220.536420.000069.1748121.1762-13.4069-7.9080-12.4862262.211425.000065.8247119.3481-13.3543-6.695429.5471291.457830.000062.5156117.8368-13.0863-5.383062.9308308.087135.000059.2953116.6605-12.6529-4.023587.5431313.273640.000056.1989115.8251-12.1025-2.6629104.1757308.999145.000053.2503115.3261-11.4768-1.3375114.1192297.531150.000050.4639115.1512-10.8101-0.0738118.8242281.044255.000047.8465115.2826-10.12821.1105119.6758261.403860.000045.3995115.6990-9.44942.2050117.8741240.082765.000043.1205116.3772-8.78623.2048114.3933218.165470.000041.0045117.2934-8.14584.1091109.9875196.396775.000039.0454118.4239-7.53174.9196105.2199175.247580.000037.2364119.7457-6.94495.6397100.5006154.980085.000035.5708121.2366-6.38426.273596.1226135.703990.000034.0423122.8756-5.84696.825492.2941117.421795.000032.6456124.6428-5.32967.299589.1640100.0627100.000031.3762126.5192-4.82797.699886.841883.5085105.000030.2308128.4868-4.33698.029285.411467.6107110.000029.2073130.5281-3.85148.290584.940852.2050115.000028.3051132.6265-3.36568.485385.486937.1216120.000027.5250134.7653-2.87388.614787.095922.1952126.000026.8693136.9284-2.36968.679089.79907.2763130.000026.3418139.0994-1.84698.678093.6035-7.7558135.000025.9479141.2619-1.29948.611098.4773-22.9746140.000025.6946143.3993-0.72128.4772104.3285-38.3855145.000025.5903145.4949-0.10738.2759110.9813-53.9004150.000025.6443147.53170.54628.0070118.1509-69.3131。开S)图34程序执行输出的数据结果的部分内容程序执行输出的图像结果分别如图3-5,图3-6,图3-7,图3-8所示。10080Ooo 3 2 1 叵 K111-10-30-2012040水平方向QFigure1FileEdViewInsertToolsDesktopWindowHelp口声QmQ©ar?e剧百回机构中连杆2上的几个位图版的描述图像70605040图3-5连杆2的轨迹描述连杆、从动杆的角位移图像如图3-6所示:FileEditViewInsertToolsDesktopWindowHelp口百。昌Gaa争要pa图3-6角位移图像连杆、从动杆的角速度图像如图3-7所示:Q Figure 3file Edit View Insert Tools Desktop Window Help口信。昌踮应s角速度图像e peo越墩(s5tsw,s<2故主动杆转角8(度)R d View Insert Took Desktop Window HelpD Q 昌 R / e 争 ® 发 a a C 要楞具<ffsw连杆、从动杆的角加速度图像如图3-8所示:Qfigure4图3-8角加速度图像4基于MATLAB的GUI分析系统设计4.1 GUI简介用户界面是人与机器(或程序)之间进行交互的一种工具和方法。图形用户界面,简称GUI,是英文GraphicUserInterface的缩写。GUl是由窗口、光标、菜单、文字、按钮等对象构成的用户界面。用户通过一定的方法选择、激活这些对象,就可以实现某种功能或动作,如计算、绘图等。特别是提供应用程序以展示某种功能、实现某种技术,或根据输入参数长期使用时,图形界面也许是最好的选择之一。MATLAB提供的基本图形用户界面对象分三类:用户界面控制对象(Uicontrol)>下拉式菜单对象(uimenu)和内容式菜单对象(Uicontextmenu)<>其中,Uicontrol对象能建立按钮、列表框、编辑框等图形用户界面对象;UimenU对象能建立下拉式菜单和子菜单等图形用户界面对象;Uicontextmenu对象则能建立内容式用户界面对象。灵活的运用上述对象,进行合理的组织和设计,就能设计出界面良好、操作简便、功能强大的图形用户界面。4.2 GUI界面设计运行MATLAB软件,点击百新建GUL在空白GUI中添加1个Axes,9个StaticText,5个EditText和1个Pop-upMenu,并编辑相应界面显示内容。界面设计如图4-1所示:图4-1GUI界面设计4.3 GUI代码编写4.3.1 EditText代码编写在平面四杆机构各杆长度及主动曲柄角速度的输入栏中均需要输入数值,输入字母和其他字符无效。在编辑界面editl上右击,选择“查看回调函数/callback,在functionedit1_Callback(hObject,eventdata,handles)函数语句下编写代码,如图4-2所示:88functionedit1.Callback(hbject,eventdata,handles)189%hbjecthandletoedit1(seeGCBO)90%eventdatareserved-tobedefinedinafutureversionofMATLAB191%handlesstructurewithhandlesanduserdata(seeGUIDATA)92I93%Hints:get(hbject,String,)returnsCOntentSofedit1astextI94%str2double(get(hbject,String*)returnscontentsofedit1asadouble95user_entry=str2double(get(hbject,String*);196ifIsnan(user_entry)97errordig(,Pleaseinputanumber*,BadInput,).98end图4-2editl_Callback函数下的代码该语句严格限制编辑框内需要输入数值,不允许输入字母、标点符号等其他字符,否则弹出错误对话框。同理,需要在另外4个EditTeXt相应函数下添加相同的代码。错误提示框如图4-3所示:图4-3输入错误提示框4.3.2Pop-upMenu代码编写在编辑界面Pop-upMenu上右击,选择“查看回调函数/callback",在functionpopupmenu4_Callback(hObject,eventdata,handles)函数语句下编写代码。所编写代码的在相应M文件指定函数下,如图4-4所示,为代码的部分内容。完整的程序代码参考附录二。口信覆器-C:UsersSouthjiangDesktop毕Vvi文件(F)娥(E)文本(T)颠J(D)窗口(W)帮助(三),×DgBX电造"昌帆九田口日仔口283functionpopupmenu4_Callback(hbjectjeventdata,handles)284%hbjecthandletoPoPUPmenU4(seeGCBO)285%eventdatareserved-tobedefinedinafutureversionofMATLAB286%handlesstructurewithhandlesanduserdata(seeGUIDATA)287288%Hints:contents=get(hbject3,String,)returnsPoPUPmenUqcontentsascellarra289%contentsget(hbject,Value*)returnssel