我是靠谱客的博主 顺心战斗机,最近开发中收集的这篇文章主要介绍Simulink中对动态系统建模,已知的初始条件在哪里设置?-问题解决方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1:实际动态系统的问题描述

现对某人体重进行建模:
在这里插入图片描述
现给出初始条件m=70kg,该怎么在simulink中设置呢?

2:仿真中遇到的问题

用传递函数描述系统有两种建模方法,一种是根据时域表达式建立(法1);一种是信号与系统中的信号流图方法建立传函(法2)。
在这里插入图片描述
simulink中搭建如下:
在这里插入图片描述
在这里插入图片描述
然后令积分器的Initial condition 为70
进行仿真,结果如下:
在这里插入图片描述
结果分析:可以看出输出m的初值不同,但最终稳态结果相同。这就出了问题。
为什么两个传函模型里积分器都设计了初值70,但结果却相差这么大呢?

3:问题解决方法-本质的阐述

我们令积分器的Initial condition 为X,其实就是令该积分器的输出变量的初值为X,要知道,你的积分器的输出不一定就是题目中要求的输出变量,这两个变量之间可能会有一个等式关系。比如:
在这里插入图片描述
法1积分器输出变量与M的关系就是:y=x
法2是:y=(1/7000)x
因此,如果我们将法2积分器的初值设为7000*70,结果就对了,如下图:在这里插入图片描述

4:验证

验证1:将信号流图用另一种形式表达(法3),积分器初值设置为70。也可以实现正确设置初始值。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
验证2:
在这里插入图片描述
在这里插入图片描述
此时,再在积分器里设置初值为70,可以看出其输出m不再是从70开始变化(虽然最终稳态值不变化)。此时该怎么设置呢?那就是找到x与m的关系:x-b1*u=m
故,积分器初值为70-(b1+u)
结果如下:
在这里插入图片描述
验证3:
在这里插入图片描述
在这里插入图片描述
此时左边第一个积分器的初值为0,第二个积分器初值为5

5:总结

要向正确设置积分器的初值,那就是找对积分器输出变量与系统输出变量之间的关系!!
ps.根据LTI特性,任何非零初始状态都可看作零初始条件+某个冲激输入共同作用。


本文为原创,转载请联系我。

最后

以上就是顺心战斗机为你收集整理的Simulink中对动态系统建模,已知的初始条件在哪里设置?-问题解决方法的全部内容,希望文章能够帮你解决Simulink中对动态系统建模,已知的初始条件在哪里设置?-问题解决方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部