2024年5月4日发(作者:)
simulink仿真设置
一、算法设置
1.变步长(Variable—Step)求解器
可以选择的变步长求解器有:ode45,ode23,ode113,odel5s,ode23s和
discret.缺省情况下,具有状态的系统用的是ode45;没有状态的系统用的是
discrete。
1)ode45基于显式Runge—Kutta(4,5)公式,Dormand—Prince对.它是—个单
步求解器(solver)。也就是说它在计算y(tn)时,仅仅利用前一步的计算结
果y(tn-1).对于大多数问题.在第一次仿真时、可用ode45试一下。
2)ode23是基于显式Runge—Kutta(2,3).Bogackt和Shampine对.对于宽误
差容限和存在轻微刚性的系统、它比ode45更有效一些.ode23也是单步求解器。
3)odell3是变阶Adams-Bashforth—Moulton PECE求解器.在误差容限比较严时,
它比ode45更有效.odell3是一个多步求解器,即为了计算当前的结果y(tn),
不仅要知道前一步结果y(tn-1),还要知道前几步的结果y(tn-2),y(tn-3),„;
4)odel5s是基于数值微分公式(NDFs)的变阶求解器.它与后向微分公式BDFs(也
叫Gear方法)有联系.但比它更有效.ode15s是一个多步求解器,如果认为一个
问题是刚性的,或者在用ode45s时仿真失败或不够有效时,可以试试odel5s。
odel5s是基于一到五阶的NDF公式的求解器.尽管公式的阶数越高结果越精确,
但稳定性会差一些.如果模型是刚性的,并且要求有比较好的稳定性,应将最大
的阶数减小到2.选择odel5s求解器时,对话框中会显示这一参数. 可以用ode23
求解器代替。del5s,ode23是定步长、低阶求解器。
5)ode23s是基于一个2阶改进的Rosenbrock公式.因为它是一个单步求解器,
所以对于宽误差容限,它比odel5s更有效.对于一些用odel5s不是很有效的刚
性问题,可以用它解决。
6)ode23t是使用“自由”内插式梯形规则来实现的.如果问题是适度刚性,而且
需要没有数字阻尼的结果,可采用该求解器。
7)ode23tb是使用TR—BDF2来实现的,即基于隐式Runge—Kutta公式,其第一
级是梯形规则步长和第二级是二阶反向微分公式.两级计算使用相同的迭代矩
阵.与ode23s相似,对于宽误差容限,它比odtl5s更有效。
8)discrete(变步长)是simulink在检测到模型中没有连续状态时所选择的一种
求解器。
2.定步长(Flxed—Step)求解器
可以选择的定步长求解器有:ode5,ode4,ode3,ode2,ode1和discrete。
1)ode5是ode45的一个定步长版本,基于Dormand—Prince公式。
2)ode4是RK4,基于四阶Runge—Kutta公式。
3) ode3是ode23的定步长版本,基于Bogacki-Sbampine公式。
4) ode2是Heun方法,也叫作改进Euler公式。
5) odel是Euler方法。
6) discrete(定步长)是不执行积分的定步长求解器.它适用于没有状态的模型,
以及对过零点检测和误差控制不重要的模型。
3.总结
ode45绝对是第一选择,当你弄不清情况的时候都可以选它。但是如果
遇到刚性系统时,运算会很慢很慢,这时候你可以选择ode23tb算法(有关资料
显示这个算法收敛速度较快)。如果还不行,那你就可以考虑选择discrete方式
了。当然,这是万金油式选择,对我这种菜鸟来说这样足够了。但如果对算法有
研究的大湿们,当然可以具体情况具体分析了。
二、powergui设置
发布评论