p123456q 发表于 2006-10-16 15:40

[求助]仿真算法的选择

Solver options有定步长和变步长两种算法,仿真时,该选择哪种方法才是正确的。
我的模型是根据微分方程组建立的。

linlin820 发表于 2006-10-21 10:14

在其他论坛看到的,具体那里忘记了,贴出来希望对你有帮助

1、所谓仿真就是真实情况的模拟,实际如何就选择哪种方式了。
比如采样系统当然用定步长比较合理,但实际上对于simulink来讲,定步长或者变步长的真实意义在于数值算法递推迭代的计算步长。
若选择越小的定步长运算,计算结果肯定是越准确的,但迭代次数多了,计算时间就长了。
变步长是simulink根据仿真的具体情况自动调整仿真步长,以求在保证足够精度的前提下尽量减小计算时间,比如当前曲线比较平稳仿真步长就可以大一点;反之,如果曲线波动比较厉害,就要用小步长进行仿真才能保证计算精度。

2、首先变步长任一采样时刻应能在定步长的采样时刻中找到,或者说变步长的采样时刻应是定步长采样时刻的子集
例如:变步长的采样时刻为

那定步长的采样时刻可以是


在环境下通过编写M语言脚本文件进行仿真肯定可以实现,但如果想在simulink中实在恐怕要编写S函数了。我所知道的是,多采样仿真可以在simulink中直接实现,但要求两个子系统都得是定长仿真,一快一慢。
页: [1]
查看完整版本: [求助]仿真算法的选择