[已解决] switch模块导致信号发生突变,请知道的坛友帮忙解答!

[复制链接]
Lsquan1 发表于 2022-6-20 10:59:08
如图所示的简单模型,旁边只是放一个switch模块,根据时间一秒后切换,就会出现下图黑圈中的突变,去掉后就没有了。有坛友知道是什么原因,怎么解决吗?感谢!(matlab版本R2022a,信号为正弦10Hz,0.001采样)
Snipaste_2022-06-20_10-51-02.png
Snipaste_2022-06-20_10-50-39.png

最佳答案


童心~ 发表于 2022-6-20 17:21:42
个人看法:
应该是因为你整个模型设定的不是fixed-step,导致switch执行到1s附近步长发生变化时,如果步长小于0.001,那么因为sine设定的sample time是0.001,du/dt模块求导出来的值就不是cos了。因为在0.00001的时间内,du/dt求导出来的结果确实是可以是0或者无穷大

模型改为0.001的固定步长即可[attach]331986[/attach]
回复此楼

2 条回复


童心~ 发表于 2022-6-20 17:21:42
个人看法:
应该是因为你整个模型设定的不是fixed-step,导致switch执行到1s附近步长发生变化时,如果步长小于0.001,那么因为sine设定的sample time是0.001,du/dt模块求导出来的值就不是cos了。因为在0.00001的时间内,du/dt求导出来的结果确实是可以是0或者无穷大

模型改为0.001的固定步长即可 1655716108208.png
回复此楼

Lsquan1 发表于 2022-6-20 17:40:52
童心~ 发表于 2022-6-20 17:21
个人看法:
应该是因为你整个模型设定的不是fixed-step,导致switch执行到1s附近步长发生变化时,如果步长 ...

问题解决了,非常感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

热门教程
站长推荐
快速回复 返回顶部 返回列表