《毕业设计模拟仿真基于MATLAB的四连杆机构运动分析软件设计).doc》由会员分享,可在线阅读,更多相关《毕业设计模拟仿真基于MATLAB的四连杆机构运动分析软件设计).doc(31页珍藏版)》请在三一办公上搜索。
1、科类 工科 学号 20081334 本科生毕业设计基于MATLAB的四连杆机构运动分析软件设计(二)人机交互界面(GUI)设计Four-barlinkage mechanism motion analysis software design based on the MATLAB (2)Design of human-machine interface(GUI) 基于MATLAB的四杆机构运动分析软件设计牟金来云南农业大学工程技术学院,昆明 黑龙潭 650201摘要本设计是基于MATLAB软件,以四杆机构为研究对象,运用机械原理知识的模拟设计。本部分着重于人机界面的建立及技术路线的实现和关键问
2、题的解决。四连杆机构是一种广泛应用于各种机械装置中的传动机构,是机械传动中必不可少的组成部分。 MATLAB是目前国际上广泛使用的一种功能强大的工程计算和分析软件,利用该软件的强大计算功能和仿真工具箱,可以方便地实现对机构的运动分析及模拟。 本设计应用MATLAB GUI设计工具和M程序结合,进行平面四杆机构的运动分析,通过GUI实现界面的设计,通过M程序完成程序的编制和调试,并通过接口实现了四杆机构的运动分析及模拟,界面运行时判断出机构类型并显示从动杆的瞬时角速度、瞬时角加速度、极位夹角、最小传动角及反正行程速比系数。关键词:人机界面;四连杆机构;仿真;MATLAB;GUIFour-bar
3、linkage mechanism motion analysis software designMou jinlaiFaculty of Engineering and Technology Yunan Agricultural University,Heilongtan Kunming 650201ABSTRACTThis design is based on MATLAB ,focused on four-bar linkage,withmechanism motion analysis design .four bar linkage is a widely used in all k
4、inds of mechanical installations in the transmission mechanism, is the mechanical transmission in the indispensable component. MATLAB is the international widely used a powerful engineering calculation and analysis software, using the softwares powerful computing functions and simulation kit can be
5、easily realized on the organizations motion analysis and simulation. This design is the application of MATLAB GUI design tools and M program, combination of planar four-bar movement analysis, through the GUI realize interface design, through the M complete programming and commissioning, and through
6、the interface realized four-bar movement analysis and simulation, interface runtime judge the mechanism type and displays the instantaneous velocity follower rod, instantaneous Angle acceleration, crank Angle between the minimum transmission Angle and anyway, stroke ratio coefficient. Keywords:Human
7、_machine interface ;Four bar linkage ;simulation ;MATLAB ;GUI目录摘要I目录II图目录III第一章概述11.1 四杆机构的相关知识11.2 四杆机构的传统设计方法21.3 用软件进行机构设计分析的现状和趋势3第二章 设计任务分析42.1 四杆机构运动分析软件总体设计42.2 参数化设计52.3 人机界面设计7第三章 实现的技术路线93.1 MATLAB编程的特点93.2 软件实现的技术路线9第四章 关键问题和难点分析104.1 GUI设计的特点和实现方法10第五章 平面四杆机构的运动分析模拟软件的实现105.1 GUI界面的制作105
8、.2程序的设计和调试13第六章 设计结果分析206.1软件使用方法206.2存在的缺点和以后改进的方向22第七章 设计心得23参考文献:25致谢:26图目录图1常见四杆机构2图2铰链四杆机构演化为曲柄滑块机构示意图3图3曲柄摇杆机构3图4最小传动角示意图9图5极位夹角示意图10图6控件工具及含义11图7几项主要的图形用户界面设计工具12图8 GUI初始界面17图9 String属性框18图10设计界面18图11主控文件框架图19图12运行结果26图13起始界面27图14 GUI制作窗口27图15界面运行图28第一章概述1.1 四杆机构的相关知识连杆机构的应用十分广泛,它不仅在工程机械中而且在农
9、业和现实生活中也有广泛的应用。诸如牛头刨床、脚踏式脱粒机、机车车轮联动机构、鹤式起重机、颚式破碎机、人造卫星太阳能板的展开机构、机械手的传动机构,折叠伞的收放机构及人体假肢等也都拥有连杆机构,连杆机构的共同特点是原动件的运动都要经过一个不与机架直接相连的中间构件(称为连杆)才能传动到从动件故称为连杆机构。连杆机构根据杆长的的不同可分为曲柄摇杆机构、双曲柄机构、双摇杆机构以及演变后的曲柄滑块机构,分析这些机构特征的参数主要有动态参数(角速度、角加速度)和静态参数(正反行程速比系数、最小传动角、极位夹角)等。1.四杆机构的基本型式:图1常见四杆机构1)曲柄摇杆机构铰链四杆机构的两个连架杆中,若其一
10、为曲柄,另一为摇杆(图1 a),则称其为曲柄摇杆机构(crank-rocker mechanism)。在曲柄摇杆机构中,若以曲柄为原动件时,可将曲柄的连续运动转变为摇杆的往复摆动;若以摇杆为原动件时,可将摇杆的摆动转变为曲柄的整周转动。2)双曲柄机构若铰链四杆机构中的两个连架杆均为曲柄(图1 b),则称其为双曲柄机构(double-crank mechanism)。在此机构中,当主动曲柄AB作匀速转动时,从动曲柄CD则作变速运动。3)双摇杆机构 若铰链四杆机构的两个连架杆都是摇杆(图1 c),则称其为双摇杆机构(double-rocker mechanism)4)曲柄滑块机构在图2(a)所示的
11、曲柄摇杆机构运动时,铰链C将沿圆弧往复运动。现如图(b)所示,设将摇杆3做成滑块形式,使其沿圆弧导轨往复滑动,显然其运动性质不发生改变,但此时铰链四杆机构已演化为具有曲线导轨的曲柄滑块机构。图2铰链四杆机构演化为曲柄滑块机构示意图又若将图(a)中摇杆3的长度增至无穷大,则图(b)中的曲线导轨将变成直线导轨,于是机构就演化成为曲柄滑块机构(slider-crank mechanism)(图3)。其中图(a)为具有偏距e的偏置曲柄滑块机构(offset slider-crank mechanism);图(b)为无偏距的对心曲柄滑块机构(centric slider-crank mechanism)
12、。曲柄滑块机构在冲床、内燃机、空压机等中得到广泛的应用。 图3曲柄摇杆机构1.2 四杆机构的传统设计方法四杆机构的运动分析和动力分析是研究机构性能的重要手段,无论是设计新机器还是合理地使用现有的机器,正确而快捷的分析都是十分必要的.传统的机构分析方法有图解法和解析法,图解法形象直观,但精度不高,难以求解复杂机构.解析法是通过已知参数建立数学模型,求解未知参数,以往大多程序都采用结构化编程,不同的机构需要编制不同的程序,应用非常有限,学和运动学分析和仿真,并且还具有许多其它实用功能, 图解法和解析法来进行,图解法因其作图、计算工作量大、精度差的缺点,在实际工程设计应用中有很大的局限性。解析法的计
13、算工作量很大,解析法一般是先建立机构的位置方程,然后将位置方程对时间求导数得速度和加速度方程。传统方法对于常见的连杆机构的运动学、动力学分析仍然是非常繁琐,以至于很难对它进行深入的研究。在以前的手绘图纸设计时期,图解法是广泛使用的。它能使设计者简捷直观地了解机构的某个或某几个位置的运动特性,摆脱解析方法的复杂计算,并且精度也能满足实际问题的需要。在仅需进行速度分析时,运用速度瞬心发十分方便。瞬心是两构件上瞬时等速点,利用瞬心可以建立构件之间的速度关系。瞬心法分析虽然简单,但是有时利用瞬心会位于图纸之外,造成作图求解的困难。矢量方程图解法能对机构进行速度和加速度分析,其依据的基本原理是理论力学的
14、运动合成原理。在对机构进行速度和加速度分析时,先要根据运动合成原理列出机构运动的矢量方程,然后再按方程作图求解。 对某些机构比较复杂机构,如果单纯运动瞬心发或矢量方程图解法对其进行运动分析都显得相当困难和复杂,所以一般是综合运动这两种方法进行图解。 当需要精确地知道机构在整个运动循环中的运动特性时,采用图解法则十分麻烦,需要作出机构处于多个位置的不同图纸,而使用图解法并借助计算机,不仅可以获得高精度及一系列位置的分析结果,并能绘制出机构相应的运动线路,同时还可以把机构分析和机构综合问题联系起来,以便与后面的机构优化设计。解析法主要有矢量法.复数法和矩阵法,都比较类似,只是形式不同。本文后面的的
15、仿真主要采用矢量法,然后又运用MATLAB符号求解,再进行仿真分析。1.3 用软件进行机构设计分析的现状和趋势20世纪50年代初,CAD技术诞生并处于被动式的图形处理阶段,也是CAD技术的准备和酝酿时期。进入20世纪60年代,提出了计算机图形学、交互技术、分层存储符号的数据结构等新思想,从而为CAD技术的发展和应用打下了理论基础,同时也相继出现了许多对连杆机构设计和分析的商品化软件。20世纪80年代,用软件进行连杆机构设计技术也进入了突飞猛进的发展时期,在这个时期,用软件进行连杆机构设计技术从大中企业向中小企业扩展,从发达国家向发展中国家扩展,从用于产品设计发展到用于工程设计和工艺设计。到了2
16、0世纪90年代,用软件进行连杆机构设计技术进入了开放式、标准化、集成化和智能化的发展时期,微型机、视窗操作系统和工作站的产生,在以太网的环境下构成了用软件进行连杆机构设计系统的主流工作平台。因此现在的CAD技术和系统都具有良好开放性,图形接口,同时图形功能也日趋标准化。在用软件进行连杆机构设计系统中, 综合运用图形、图像、三维造型、人工智能、专家系统等技术,从而大大提高了自动化设计程度,出现了智能CAD新学科。在未来用软件进行连杆机构设计要向着:开放化、集成化、智能、标准化、图形交互技术和虚拟现实技术等方向发展。SolidWorks 软件是在总结和继承了大型机械CAD软件的基础上,在Windo
17、ws环境下实现的全参数化三维实体造型软件,它具有强大的零件设计、铂金设计、管理设计、绘制二维工程图、支持异地协同工作等能力,能使零件设计、装配设计和工程图保持时刻的全相关和同步。第二章 设计任务分析2.1 四杆机构运动分析软件总体设计1.课题的背景和意义在计算机技术飞速发展的今天,许多科学研究、工程设计由于其复杂性越来越高,因此与计算机的接合日趋紧密。也正是计算机技术的介入,改变了许多学科的结构、研究内容和研究方向,以前人们主要利用几何图解法,但其求解精度和使用范围都受到很大的限制,图解法形象直观,但精度不高,难以求解复杂机构。解析法是通过已知参数建立数学模型,求解未知参数。以往大多程序都采用
18、结构化编程,不同的机构需要编制不同的程序,应用非常有限,并且直接用编制程序方法设计是非常麻烦的,MATLAB为了减轻技术人员的工作负担,提供了界面的可视化设计工具GUI,其优点是不用记住创建控件对象的复杂函数,也不必记住控件的大量属性的属性名,因此便于设计和修改。本次课题研究的就是运用软件对平面四杆机构进行运动分析及模拟,对机械的优化设计具有重要的意义。2.设计的内容和软件的功能设计的内容:(1)建立机构数学模型。(2)利用MATLAB提供的交互式制作用户界面的工具GUI来制作所需图形界面。(3)程序的设计和调试。软件的主要功能:(1)根据输入的四个杆长、角频率画出平面四连杆机构的图形。(2)
19、对平面四连杆机构进行运动模拟。(3)对平面四连杆机构进行运动分析,显示从动杆的瞬时角速度、瞬时角加速度、极位夹角、最小传动角、反正行程速比系数。2.2 参数化设计以平面曲柄摇杆机构为例:1.最小传动角的确定图4最小传动角示意图如图4所示曲柄摇杆机构,最小传动角出现在主动曲柄与机架处于两个共线的位置,为锐角时 =;为钝角时,=。当时, (1)当时, (2)则当时, (3)当时, (4)2.3.2 行程速比系数K及极位夹角的确定曲柄摇杆机构中,行程速比系数k和极位夹角存在如下关系: (5)机构的极位夹角,如图5所示:图5极位夹角示意图则由几何知识可以得出极位夹角和各边的关系: (6)则 (7)2.
20、3 人机界面设计本课题研究如何利用MATLAB提供的交互式制作用户界面的工具GUI来制作四连杆机构的运动分析及模拟界面,因此必须掌握界面的设计方法。需注意以下几点:1界面设计的基本原则(1)简洁性原则(2)一致性原则(3)熟悉性原则(4)交互式原则2界面设计的一般步骤界面制作包括界面设计和程序设计。主要步骤如下:(1) 分析功能、明确任务 按照界面设计的原则,分析界面所要完成的功能,明确设计任务。(2)认真审查 将界面绘成草图,并站在使用者角度进行审查,尽量让用户感到方便、乐于使用,所以认真审查界面就显得非常必要。(3)制作静态界面、全面检查 按构思的界面,制作静态界面,并认真检验,确保无误。
21、(4)编写界面的动态功能程序、逐项检查 编写动态功能的程序,逐项检查、反复调试。 3. GUI界面设计工具:(1)控件工具 位于图形用户界面设计工具左侧的控件工具及含义如图6所示。图6控件工具及含义(2)几项重要的图形用户界面设计工具 如图7所示,这些设计工具在图形用户界面设计工具顶菜单下方的工具条中,说明如下:图7几项主要的图形用户界面设计工具控件布置编辑器:用于对界面上的各对象进行布局设置。菜单编辑器:用于设计界面菜单。控件顺序编辑器:用于设置控件的Tab键顺序。M文件编辑器:用于对M文件进行编辑。属性浏览器:用于浏览编辑对象的属性。选择不同的对象,其浏览器略有不同,通用且最常见的属性如下
22、:FontSize:选择字体大小,可直接更改属性值。FontWeight:选择字体加粗的方式,单击下三角后,可在弹出的菜单中进行选择。String:对象的标签,可直接更改属性值。Callback:回调函数。注意回调函数的概念,它指的是在对象的某一个时间发生时,MATLAB内部允许自动调用的函数。SlideStep:设置滑动条的滑动步,展开该项后,可分别设置XY方向的滑动步长。FileName:图形界面文件名,含路径。对象浏览器:浏览界面中的对象界面运行命令:运行界面第三章 实现的技术路线3.1 MATLAB编程的特点MATLAB是一种面向科学与工程计算的高级语言允许数学形式的语言编写程序,与F
23、ORTRAN、C、C+等语言相比,更接近我们书写计算公式的思维方式;既有结构化控制语句,又具有面向对象的编程能力,用MATLAB编写程序犹如在演算纸上排列公式与求解问题,所以俗称演算纸式的科学算法语言,编程效率高,易学易用,此外还可以根据用户的需求把一系列的MATLAB语句或者一个带参数的函数放在扩展名叫做M的文件中,编写成自己所需要的函数,可以随时调用,且M文件的语法规则与C语言几乎完全一样,所以更容易学习和掌握,这就是MATLAB的可开发性与可拓展性。3.2 软件实现的技术路线1.MATLAB软件的安装2.四杆机构的运动分析运动分析包括从动件瞬时角速度、瞬时角加速度、最小传动角、极位夹角、
24、反正行程速比系数。3.GUI界面的制作主要掌握对象的几何布局、属性设置。4.编制程序和调试该系统程序包括:“开始模拟”命令按钮的回调函数、“退出”命令按钮的回调函数、“角速度滑动条”的回调函数以及调用函数。5.界面运行第四章 关键问题和难点分析4.1 GUI设计的特点和实现方法 (1)GUI的广泛应用是当今计算机发展的重大成就之一,他极大地方便了非专业用户的使用人们从此不再需要死记硬背大量的命令,取而代之的是可以通过窗口、菜单、按键等方式来方便地进行操作。用GUI设计工具设计控件时,不用记住创建控件对象的复杂函数,也不必记住控件的大量属性的属性名,因此便于设计和修改。与早期计算机使用的命令行界
25、面相比图形界面对于用户来说在视觉上更易于接受,(2)GUI又称“图形用户界面”,在进行图形用户界面(GUI)设计时,应该先理解“句柄图形”的概念,它是设计与实现GUI的前提。每个图形对象都有一个句柄,什么是句柄图形?简单的讲,句柄图形是对底层图形对象集合的总称。只有获取了图形对象的句柄,才可以对该图形对象进行控制、设置或修改对象的有关属性。第五章 平面四杆机构的运动分析模拟软件的实现5.1 GUI界面的制作利用MATLAB提供的交互式制作用户界面的工具GUI来制作所需设计及模拟图形界面。界面的制作步骤如下:(1)窗口初始位置、大小的设计。(2)对象的几何布局:二十六个静态文本框(其中有七个分别
26、用于显示不可见对象:主动杆角速度、机构类型、从动杆的瞬时角速度、瞬时角加速度、极位夹角、最小传动角、反正行程速比系数)、四个编辑文本框、一个滑动条、两个单选按钮、一个坐标轴。(3)各对象属性的设置。(4)新建图形对象的整齐化。利用GUI界面设计工具“控件布局编辑器”对界面上各对象进行布局设置,使界面整齐、美观(5)回调函数的编写:主要是开始模拟命令按钮的回调函数的编写。(6)界面功能的测试。下面具体介绍界面设计方法:在MATLAB起始界面下,选择菜单FileNewGUI选项,即可打开图形用户界面制作窗口,如图8所示。图8 GUI初始界面例如:“平面四连杆机构运动分析及模拟”控件设计 在上图出现
27、的设计界面中,点选,在界面中拖拉出合适的大小, 双击该对象,在弹出的属性浏览器中设置属性:FontSize: 13 ; FontWeight: bold ; String: 点击 图标,弹出输入框如图9所示。图9String属性框在输入框内添加“平面四连杆机构运动分析及模拟” ,然后单击“OK”按钮。其他控件的设计同此。设计界面如图10所示:图10设计界面5.2程序的设计和调试界面设计完成后点击保存,然后选择菜单ViewM-File Editor自动生成主控文件four.m框架,手工添加其他部分代码。如图11所示:图11主控文件框架图“开始按钮”的回调函数:在上述文本编辑器中function
28、pushbutton1_Callback(hObject, eventdata, handles)下面,添加如下代码:A=get(findobj(gcf,Tag,edit1),string);la=str2num(A);B=get(findobj(gcf,Tag,edit2),string);lb=str2num(B);C=get(findobj(gcf,Tag,edit3),string);lc=str2num(C);D=get(findobj(gcf,Tag,edit4),string);ld=str2num(D);%function crankrocker(la,lb,lc,ld,w)%
29、存储实际值L=la,lb,lc,ld;sum=la+lb+lc+ld;la=la/sum*200;lb=lb/sum*200;lc=lc/sum*200;ld=ld/sum*200;%量化后的Ll=la,lb,lc,ld;lmax=max(la,lb,lc,ld);lmin=min(la,lb,lc,ld);%有无曲柄条件lo=2*(lmax+lmin)-(la+lb+lc+ld);%是否为机架条件ll=2*lmax-(la+lb+lc+ld);%获得主动杆la杆角速度w0=get(findobj(gcf,Tag,text25),string);w=str2double(w0);if (lo0
30、)&(ll0) %无曲柄条件,双摇杆机构 set(findobj(gcf,Tag,text27),String,双摇杆机构!); doublerocker(la,lb,lc,ld,w)elseif(lo=0)&(ll=0 %不满足杆组条件!无法进行模拟! set(findobj(gcf,Tag,text27),String,不满足杆长条件!无法进行模拟!,ForegroundColor,1,0,0);end;“退出”按钮的回调函数在文本编辑器中function pushbutton2_Callback(hObject, eventdata, handles)下面添加代码:Close;“滑动条”
31、控件的回调函数在文本编辑器中function slider1_Callback(hObject, eventdata, handles)下面,添加如下代码:h=get(hObject,Value);set(findobj(gcf,Tag,text25),string,num2str(h);w0=get(findobj(gcf,Tag,text25),string);w=str2double(w0);完成后保存。编写曲柄摇杆机构的调用函数:crankrocker.m。双摇杆机构和双曲柄机构的与之类似。新建M文件,在文件中输入如下代码并保存:function crankrocker(la,lb,l
32、c,ld,w)%存储实际值L=la,lb,lc,ld;sum=la+lb+lc+ld;la=la/sum*200;lb=lb/sum*200;lc=lc/sum*200;ld=ld/sum*200;%量化后的Ll=la,lb,lc,ld;%画A点的三角支撑a2=line(0,-3,0,-6,color,k,linestyle,-,linewidth,2);a3=line(0,3,0,-6,color,k,linestyle,-,linewidth,2);%画A点的地面及斜线a4=line(-6,+6,-6,-6,color,k,linestyle,-,linewidth,2);a41=line
33、(-1,-4,-6,-9,color,k,linestyle,-,linewidth,1);a42=line(-4,-7,-6,-9,color,k,linestyle,-,linewidth,1);a43=line(2,-1,-6,-9,color,k,linestyle,-,linewidth,1);a44=line(5,2,-6,-9,color,k,linestyle,-,linewidth,1);%画D点的三角支撑d2=line(ld,-3+ld,0,-6,color,k,linestyle,-,linewidth,2);d3=line(ld,3+ld,0,-6,color,k,li
34、nestyle,-,linewidth,2);%画D点地面及斜线d4=line(-6+ld,6+ld,-6,-6,color,k,linestyle,-,linewidth,2);d41=line(-1+ld,-4+ld,-6,-9,color,k,linestyle,-,linewidth,1);d42=line(-4+ld,-7+ld,-6,-9,color,k,linestyle,-,linewidth,1);d43=line(2+ld,-1+ld,-6,-9,color,k,linestyle,-,linewidth,1);d44=line(5+ld,2+ld,-6,-9,color,
35、k,linestyle,-,linewidth,1);%画AD杆ad=line(0,ld,0,0,color,k,linewidth,1);%A的向量和D的向量ax0=0;ay0=0;Va=complex(ax0,ay0);dx0=ld;dy0=0;Vd=complex(dx0,dy0);%确定极位夹角theta_1=acos(la+lb)*(la+lb)+ld*ld-lc*lc)/(2*(la+lb)*ld);theta_2=acos(-la+lb)*(-la+lb)+ld*ld-lc*lc)/(2*(-la+lb)*ld);theta_0=theta_2-theta_1;theta0=th
36、eta_0/pi*180;set(findobj(gcf,Tag,text26),string,num2str(theta0);%确定反正行程速比系数K=(pi+theta_0)/(pi-theta_0);set(findobj(gcf,Tag,text31),string,num2str(K);%确定最小传动角gama_1=acos(lb*lb+lc*lc-(ld-la)*(ld-la)/(2*lb*lc);gama_2=acos(lb*lb+lc*lc-(ld+la)*(ld+la)/(2*lb*lc);if gama_2=pi/2 gama_2=pi-gama_2;endgama_0=m
37、in(gama_1, gama_2);gama0=gama_0/pi*180;set(findobj(gcf,Tag,text30),String,num2str(gama0);%获得实时动画模拟数据mm=90;for i=1:1:mm theta(i)=2*i*pi/mm; bx0=la*cos(theta(i); by0=la*sin(theta(i); Vb(i)=complex(bx0,by0); %角A theta_a(i)=angle( Vb(i); %向量BD,lbd为BD瞬时的长 Vbd(i)=Vb(i)-Vd; theta_bda(i)=pi-angle( Vbd(i); l
38、bd(i)=abs(Vbd(i); theta_cdb(i)=acos(lc*lc+lbd(i)*lbd(i)-lb*lb)/(2*lc*lbd(i); %角D theta_d(i)=theta_bda(i)+ theta_cdb(i); %C的向量 cx0=ld-lc*cos(theta_d(i); cy0=lc*sin(theta_d(i); Vc(i)=complex(cx0,cy0); %求c杆的角速度 Vbc(i)=Vc(i)-Vb(i); theta_2(i)=angle( Vb(i); theta_3(i)=angle( Vbc(i); theta_4(i)=pi-theta_d
39、(i); w2=w; %列矩阵方程求解w3,w4 R1=-lb*sin(theta_3(i) lc*sin(theta_4(i); lb*cos(theta_3(i) -lc*cos(theta_4(i); %求R1的逆矩阵 R2=w2*la*sin(theta_2(i);w2*la*sin(theta_2(i); Result_w=inv(R1)*R2; w3(i)=Result_w(1,1); w4(i)=Result_w(2,1); %求c杆的角加速度 Ra=-lb*sin(theta_3(i) lc*sin(theta_4(i); -lb*cos(theta_3(i) -lc*cos(
40、theta_4(i); Ras=w2*w2*la*cos(theta_2(i)+ w3(i)* w3(i)*lb*cos(theta_3(i)- w4(i)*w4(i)*lc*cos(theta_4(i); w2*w2*la*sin(theta_2(i)+ w3(i)*w3(i)*lb*sin(theta_3(i)-w4(i)*w4(i)*lc*sin(theta_4(i); Result_a=inv(Ra)*Ras; a3(i)=Result_a(1,1); a4(i)=Result_a(2,1); end %各杆的初始位置,设置AB杆BC杆CD杆ab=line(real(Va),real(
41、Vb(i),imag(Va),imag(Vb(i),color,k,marker,o,markersize,5,linewidth,2,linestyle,-); cd=line(real(Vd),real(Vc(i),imag(Vd),imag(Vc(i),color,k,marker,o,markersize,5,linewidth,2,linestyle,-); bc=line(real(Vc(i),real(Vb(i),imag(Vc(i),imag(Vb(i),color,k,marker,o,markersize,5,linewidth,2,linestyle,-); %进行实时动
42、画模拟 j=1; m=0; while m100 set(ab,xdata,real(Va),real(Vb(j),ydata,imag(Va),imag(Vb(j); set(cd,xdata,real(Vd),real(Vc(j),ydata,imag(Vd),imag(Vc(j); set(bc,xdata,real(Vc(j),real(Vb(j),ydata,imag(Vc(j),imag(Vb(j); set(findobj(gcf,Tag,text28),string,num2str(w4(j); set(findobj(gcf,Tag,text29),string,num2str(a4(j); drawnow j=j+1;