天天减肥网,内容丰富有趣,生活中的好帮手!
天天减肥网 > Simulink学习——基础建模流程案例(一)(简单弹簧阻尼器复合系统建模)

Simulink学习——基础建模流程案例(一)(简单弹簧阻尼器复合系统建模)

时间:2019-08-23 23:20:41

相关推荐

Simulink学习——基础建模流程案例(一)(简单弹簧阻尼器复合系统建模)

前言

当对对象系统的分析不够充分,需求不够明确的时候,仍然可以先将仿真系统的输入、输入、子系统等模块进行划分,形成一个相对科学的仿真系统框架。在这个框架下,进行对象系统的分析和建模可能很多时候会更高效。

Simulink给出了一个建模系统的设计的workflow系列案例作为参考,我就跟着这个workflow系列的案例,基于simulink的教程,以自己的理解分析来学习建模思路。这一期为demo中的第一期,使用一个简单弹簧阻尼器复合系统建模来进行基础建模练习。

仿真系统框架设计

如上的一个分析对象,在仔细去考虑系统内各组件的关系之前,首先对该系统的一个初步印像:

这个系统是一个有输入变量与因变量的系统,二者之间存在固定的关系,只要给定初始输入,因变量的变化就是决定了的。

因此在深入分析之前,我将即将建立的模型分为了三个部分:输入、输出、转换关系。在Simulink中先进行一个划分:

随后我们可以将三个系统间先放入一点东西,让我们更能清晰地看到仿真的流程:

考虑到我们现在对问题还没有进行仔细地定义,因此输入和输出量未知。因此这里使用了bus creator与bus selector去进行三个建模部分的链接,简化区域间的信号交互(免得以后看花了)。

问题分析与建模解决

这时候,比如有人提出了第一个疑问:我想知道,如果我拉一下小球,那最上面这个小球m在会如何运动?

信号逻辑

这个问题中,可变的外部输入变量就是小球初始所受外力F,需求就是要观测小球m的运动轨迹x。

这样,系统内现在就有了需要输出的因变量小球轨迹x和需要外部输入的变量小球初始受力F,我们简单地把他们放入系统,看看我们的信号是怎么走的:

各区域内建模

小球通过一个弹簧和阻尼器与地面连接,可以用一个公式去描述该系统:

如上,我们的x可以从这个公式中解出。

这个公式中,m、c、k均为器件的物理特性,为常数,F外力除去刚开始,其他时间为0。而其他所有值均只输出初始值,后续都会在小球运动过程中随时改变。

Input区域

根据变量的属性,在input中先放入它们:

Relationship区域

然后就可以通过总线使用这些变量在Relationship Area中描述他们的关系了:

根据小球加速度和各变量的关系进行建模:

Output区域

最后将可观测的量都引出到output:

连上回路:

对比回Simulink的例子,区别挺大,可以看出建模上的思路还是有些不同,还是仿真先看看结果是否一致吧:

仿真

输入相同的初始条件,我们来对比下仿真结果:

嗯,与参考答案一样!

优化

由于一开始没有规划好连线的顺序,relationship部分看起来线十分乱,让我们来创建子系统来优化下:

这样是不是看起来好多啦!(看不见等于不存在/doge)

小结

对比起官方的Demo,自建的模型看起来复杂很多。官方demo更精准的考虑了前面所描述的问题,认为输入量只有一个F。而我这个模型考虑到所有的变量都有可能会变化,因此将所有的变量与因变量和仿真过程(relationship)分离,因此结构上要复杂的多。如果只分析前面问的这个问题,官方的demo还是要简洁许多的。

因此建模时候,还是要多精准考虑建模的需求,否则会徒增工作量。

模型分享

/download/weixin_44281768/12839062

如果觉得《Simulink学习——基础建模流程案例(一)(简单弹簧阻尼器复合系统建模)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。