24小时热门版块排行榜    

CyRhmU.jpeg
查看: 4755  |  回复: 1

佐罗723

银虫 (著名写手)

[求助] 请问大神们 Matlab-simulink中的Rate limiter 算法的问题啊?~

其实是个简答的问题:一个简单的物理问题,可以用二阶的微分方程表达,x输入,y输出,时间t变量,而x是已知阶跃函数,但输出y实际是一个机械的动作,有个限速问题,所以最后添加了“限速特性”——Rate limiter模块

      问题是:
      首先我用Simulink建模,选择龙格库塔方法求解,得出了y的响应结果(其实欧拉法什么的,都差别不大)
      但我现在要自己改一个C程序,自己编制龙格库塔方法求时,没有限速特性时可得到正确结论(与理论解以及Simulink解吻合),但是加上限速特性时,就不行了…… 偏差比较大,为什么啊?好奇怪!
       (结果见图片)
       我C语言加的限速特性,就是每一个步长都判断y变量的增减幅度,若是超出了,就限制在最大幅度。请问Simulink是怎样的呢?我个人有两种想法
      1、按道理是与我C语言程序编制的一样,而且这也很合符逻辑啊……
      2、Simulink是先正常求解出y的全部的时域响应结果,而后再根据限速特性来限制每个步长?

E680[7P(%MR286QU)NKR0XQ.jpg

[ Last edited by 佐罗723 on 2013-1-12 at 09:48 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

佐罗723

银虫 (著名写手)

自己顶起,别沉啊……
2楼2013-01-14 08:52:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 佐罗723 的主题更新
信息提示
请填处理意见