|
ode45 是基于精确龙格-库塔(4, 5)的 Dormand-Prince 算法,它是一步算法,也就是说,
|
|
在计算y(tn)时,它只需要知道前一时刻的 y(tn-1)值。通常,对于大多数问题,都可以先用
|
|
ode45 算法试解一下,正因为如此,ode45 就作为了 Simulink 求解连续状态模型的缺省算法。
|
|
ode23 也是基于精确龙格-库塔(2,3)的 Bogacki-Shampine 算法,它在求解原始公差
|
|
和有软刚体出现的模型上比 ode45 更有效,ode23 也是一步算法。
|
|
ode113 是变阶的 Adams-Bashforth-Moulton PECE 算法,它在求解精确公差上比 ode45
|
|
更有效,ode113 是多步算法,也就是,它通常需要知道前几个时刻的数值才能求解当前时
|
|
刻的值。
|
|
ode15s 是基于数值积分算法(NDFs)的变阶算法,它与前面微分算法(BDFs,也称为
|
|
Gear 算法)有关,但比 BDFs 效率高。与 ode113 一样,ode15s 也是多步算法,如果觉得要解
|
|
决的问题是刚体模型,或者用 ode45 算法无效或效率低,可以试试 ode15s 算法。
|
|
ode23s 是基于二阶 Rosenbrock 算法的一个改进算法,因为它是一步算法,因此在处
|
|
理原始公差问题上比 ode15s 更有效,它也可以解决一些 ode15s 无法解决的刚体问题。
|
|
ode23t 是使用“任意”插值的梯形积分法,如果模型中有适度的刚体,而且又想用
|
|
一种不产生数值衰减的方法求解问题,可以使用这种算法。
|
|
ode23tb 是 TR-BDF2 实现,也就是第一阶段用精确龙格-库塔算法,第二阶段用二
|
|
阶后向微分算法,从结构上来说,两个阶段在求值上都使用相同的迭代矩阵。与 ode23s 一
|
|
样,这个算法在处理原始公差问题上比 ode15s 更有效。
|
|
注意:对于刚体问题,解算的结果在一个小时间段内可能会改变,当然这个小时间区域与积分间隔相比
|
|
是非常短的,但是它所造成的影响可能会在相当长的时间范围内影响整个的解算结果。那些为非刚
|
|
体问题而设计的算法在解算结果缓慢变化的时间区域内是无效的,因为这些算法使用的时间步是非
|
|
常小的,足以用来解决最快速变化的模型。对 ode15s和 ode23s算法,它会在数值上生成 Jacobian(雅
|
|
可比)矩阵。
|
选自:simulink动态系统建模与仿真系统,李颖,西安电子科技大学出版社
本文介绍了MATLAB中进行动态系统建模与仿真时如何设置关键参数,详细讲解了来自《simulink动态系统建模与仿真系统》一书中的实践方法。

4800

被折叠的 条评论
为什么被折叠?



