找回密码
 注册
Simdroid-非首页
查看: 118|回复: 9

请教一个Simulink/Switch模块使系统二阶导数响应毛刺很大的问题?

[复制链接]
发表于 2009-3-27 17:35:11 | 显示全部楼层 |阅读模式 来自 浙江台州
本帖最后由 yumu_amoko 于 2009-4-1 14:29 编辑

最近用simulink做了一个振动系统的控制,系统是用状态方程描述的,控制是一个反馈开关的控制,用switch block实现。如图:

发现改变系统输入(正弦函数)的频率时,频率越小,得到的加速度曲线毛刺越多,而且改变求解Tolerance,发现Tolerance越小,毛刺反而越多。
可以肯定是由于系统发散了,而且应该是Switch模块引入的。(因为将Switch用一、二阶系统代替就不会有此现象)
各位有没有遇到这种情况,有没有解决的办法,因为频率小到一定程度时,毛刺已经很大了,根本辨别不了系统的加速度稳态值了!

多谢各位!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 2009-3-28 14:34:16 | 显示全部楼层 来自 浙江台州
Simdroid开发平台
up

没有人回答么?
回复 不支持

使用道具 举报

发表于 2009-3-29 13:26:26 | 显示全部楼层 来自 陕西宝鸡
楼主的意思是不是说在特定的情况下,simulink存在某些不可知预知的问题,而导致了你的模型发散/出现毛刺?
回复 不支持

使用道具 举报

 楼主| 发表于 2009-4-1 00:25:21 | 显示全部楼层 来自 浙江杭州
3# kokyo52

是的,因为当我输入激励的频率增高时,这种状况就消失了;
但是当激励频率越小,越趋近0时,反而是模型发散,毛刺非常大
回复 不支持

使用道具 举报

发表于 2009-4-1 13:09:56 | 显示全部楼层 来自 陕西宝鸡
“Switch模块引入的。(因为将Switch用一、二阶系统代替就不会有此现象)”
确实有可能出现这种情况,我以前也见过MATLAB犯病,建议楼主换种方法搭模型
回复 不支持

使用道具 举报

 楼主| 发表于 2009-4-1 13:29:29 | 显示全部楼层 来自 浙江杭州
5# kokyo52 嗯,一开始我是以为是建模方法的问题,所以试过分别用状态方程和流程图方法搭模型,流程图中的各积分环节初始值都保持默认,在毛刺方面两种方法是一样的多。。。
      虽然自己也知道在现实当中没有switch这种严格的开关函数,但是不知道为何对于高频状态就没有问题,而低频就会出现问题呢???
回复 不支持

使用道具 举报

 楼主| 发表于 2009-4-5 01:40:00 | 显示全部楼层 来自 LAN
求助啊~
回复 不支持

使用道具 举报

 楼主| 发表于 2009-4-5 20:36:10 | 显示全部楼层 来自 LAN
up up~
回复 不支持

使用道具 举报

发表于 2009-4-6 20:47:39 | 显示全部楼层 来自 陕西西安
这样吧,楼主把你的模型拿上来看看吧,大家好帮帮你
回复 不支持

使用道具 举报

发表于 2009-4-7 10:49:40 | 显示全部楼层 来自 北京
把定步长变步长的积分算法都试一下,定步长时步长取很小比如.0001看看结果如何.
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-7 09:22 , Processed in 0.039271 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表