第十章第三部分similink.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
10.5.4 非线性系统的模拟 (examp10_5_5.mdl) 例1:小车由两个喷射式发动机推动在光滑的平面内运动。若小车的速度和位移之和为负值,则启动左边的发动机;若小车的速度和位移之和为正值,则启动右边的发动机。控制的目标使小车静止在原点。此模型类似于卫星的位置控制过程。 m x F 假定小车初始静止,并且位移量为+1 假设:m=5kg,F=1,-1,0 注:符号函数模块说明(examp10_5_5_0.mdl) 用一个二维图形模块来绘制仿真过程的相图,相图是速度相对于位移的变化图。 注:在MATLAB中使用plot(xout(:,1),xout(:,2))画出的图形,和XYGraph的结果一致。 说明:为模仿“符号切换的非瞬时性”,本例采用“定步长”solver解算器ode5,fixed step size为0.05 为了得知小车何时到达原点并使仿真停止,对模型增加一个逻辑判断,以使目标达到时仿真自动停止。(examp10_5_5_1.mdl) 对于本算例,可以认为小车的位移和速度的绝对值之和小于一个较小量,如0.01 时,就认为目标已经达到并结束仿真: 如果想得到小车位移的响应时程,可在模型中加入示波器模块,如下图所示。 为观察仿真时间进程,引入仿真时钟显示。 仿真结果如下图所示。 该图形是采用MATLAB环境下的plot(tout,xout(:,1))画出的 ,结果与示波器的结果一致。由图形可看出,仿真在7.6s时停止,这与模型框图中的时钟显示模块Display的结果一致。小车系统在7.6时达到平衡。 例2: 蹦极跳系统的动态仿真(examp10_5_6.mdl) 蹦极跳时一种挑战身体极限的运动,蹦极者系着一根弹性绳从高处的桥梁(或山崖等)向下跳。在下落的过程中,蹦极者几乎处于失重状态。按照牛顿运动规律,自由下落的物体由下式确定: m为人体的质量,g为重力加速度。 位置x的基准为桥梁的基准面. 如果人体系在一个弹性常数为k的弹性绳索上,定义绳索下端的初始位置为o,则其对落体位置的影响为: 桥梁基准面 地面 因此,整个蹦极系统的数学模型为: 其为典型的具有连续状态的非线性系统 解: 设桥梁距离地面为50m,即h2=50 蹦极者起始速度为0 蹦极者的起始位置为绳索的长度30m,即h1=30 其余的参数为: k=20,a2=a1=1,m=70kg,g=10m/s2 初始条件:x(0)=-30;x(0)’=0 注:Switch模块介绍 双击输入Threshold值,系统默认为0。 说明: (1)设置仿真时间0~100s,为了使曲线光滑,可设置最大仿真步长为0.1。 (2) 右边图为蹦极者到地面的距离曲线。 examp10_5_6_1.mdl模型如上图所示,运行结果和前面一致。在matlab环境下输入m=70; g=10; k=20; a1=1; a2=1. examp10_5_6_2.mdl模型采用了Fcn模块,结果和前面运行一致。 若在MATLAB环境下键入:whos 可得到: whos Name Size Bytes Class a1 1x1 8 double array a2 1x1 8 double array g 1x1 8 double array k 1x1 8 double array m 1x1 8 double array tout 1000x1 8000 double array xout 1000x2 16000 double array tout为时间序列;xout第一列为位移时间序列,第二列为速度时间序列。若在MATLAB环境下键入: plot(tout,xout(:,1)),将得到示波器Scope显示的结果。 如果想在MATLAB环境下使用plot命令画出示波器scope1显示的图形,可在系统模型中加入out模块。(examp10_5_6_3.mdl) 若在MATLAB环境

文档评论(0)

zhuliyan1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档