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还是要简洁许多的。

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

 


模型分享

https://download.csdn.net/download/weixin_44281768/12839062

  • 6
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值