Matlab/Simulink中各种求解算法总结

Solver中,变步长包括了discrete,ode45,ode23,ode113,ode15s,ode23s,ode23t和ode23tb。

1.Disctete:当Simulink检测到模块没有连续状态时使用。

2.ode45:求解器算法是四阶或五阶龙格库塔法,为系统默认值,适用于大多数连续系统或离散系统仿真,但不适用于Stiff(刚性)系统。

3.ode23:求解器算法是二阶或三阶龙格库塔法,它在误差限要求不高和求解的问题不太复杂的情况下比ode45更有效。

4.ode113:一种阶数可变的求解器,它在误差要求严格的情况下通常比ode45更有效。

5.ode15s:是一种基于数字微分公式的求解器,适用于刚性系统。当用户估计要解决的问题比较复杂,或者不使用ode45或者效果不好时,可以使用ode15s。通常对于刚性系统,如果用户选择了ode45求解器,运行仿真后Simulink会弹出警告对话框,提醒用户选择刚性系统,但不会终止仿真。

6.ode23s:是一种单步求解器,专门用于刚性系统,在弱误差允许条件下效果会高于ode15s。它能解决某些ode15s不能解决的问题。

7.ode23t:是梯形规则的一种自由差值实现,适用于求解适度刚性的问题而用户又需要一个无数字振荡的求解器时使用。

8.ode23tb:具有两个阶段的隐式龙格库塔公式。

固定步长求解器的算法包括disctete,ode5,ode4,ode3,ode2,ode1,ode14z。

1.discrete:是一个实现积分的固定步长求解器,它适用于离散无连续状态的系统。

2.ode5:系统默认求解器,是ode45的固定步长版本,适用于大多数连续或离散系统,不适用于刚性系统。

3.ode4:四阶龙格库塔法,具有一定的计算精度。

4.ode3:固定步长的2/3阶龙哥库塔法。

5.ode2:改进欧拉法。

6.ode1:欧拉法。

7.ode14z:外推法。

此外,在设置仿真步长时,最大步长要大于最小步长,初始步长介于二者之间。默认的最大步长为“仿真时间除以50”,即整个仿真至少计算50个点。最小步长及初始补偿使用AUTO即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式Linux系统开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值