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特性,任何非零初始状态都可看作零初始条件+某个冲激输入共同作用。


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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值