来自系列:在MATLAB中求解ode
ODE45通常是ode求解器中选择的功能。它比较了订单四和五的方法来估计错误并确定步长。ODE45如此准确的是,其默认行为是使用其跨节在中间点提供结果。
MATLAB和SIMULINK中最常用的颂词是ODE45。金宝app它基于1980年英国数学家JR Dormand和PJ Prince发表的方法。基本方法是第五个。纠错使用伴侣顺序四种方法。
TN的斜率是,首先从上一个成功的步骤中剩下的最后一个相同。然后,在TN加1的1/5 H,3 / 10H,4 / 5H,8/9H,8/9H,8/9H中有五个斜率从1/5小时,然后在TN加1。这六个斜率,它们的线性组合用于产生Yn Plus 1。
函数在tn + 1和yn + 1处求值,得到第七个斜率。然后这些的线性组合被用来产生误差估计。
同样,如果误差估计小于指定的精度要求,这一步就是成功的。然后用这个误差估计得到下一步的步长。如果误差太大,这一步是不成功的,这个误差估计被用来得到步长,然后再做一次。
如果我们想看到实际使用的系数,可以进入ODE45的代码。这是一个系数表。或者你去维基百科上看休眠王子法也有相同的系数。
除了旁边,这是关于更高阶runge-Kutta方法的一个有趣的事实。古典runge-kutta每步需要四个函数评估来获得订单四。Dormand-Prince每步需要六个函数评估来获得订单五。只有五个功能评估,您无法获得订单五。然后,如果我们尝试达到更高的顺序,每步需要更多的功能评估。
让我们使用ODE45来计算e的t次幂。y '等于y。我们可以通过提供一个称为tspan的参数来要求输出。0和0.1到1的步骤。如果我们把它作为输入参数来解这个微分方程并得到这些点的输出,我们就会把它作为输出。这是微分方程在这些点处的近似解。
如果我们绘制它,这是这些点的解决方案。并且了解它的准确性,我们看到我们实际上将此结果达到九位数。ode45非常准确。
我们来看看在接近奇点的情况下,步长是1 / 4。Y0接近16。微分方程是y ' = 2(a-t) y²。我们让ODE45选择自己的步长,表示我们只想从0积分到1。我们获取t和y的输出并绘制它。
现在,这里有很多点,但这是误导,因为ODE45,默认情况下,使用的是细化选项。它实际上只是在每四个点处求函数值然后用插值来填充。所以我们需要一个不同的图。
这个图更好地显示了发生了什么。这些大点是ODE45用来计算微分方程的点。这些小点是用插值填充的。大点是每四个点。优化选项说这些大点之间的距离太远了我们需要用插值来填充它。这就是连续插值的作用。
大点更集中,因为我们必须绕过曲线。然后,当我们从奇点远离奇点时,步长增加。因此,这表明了ODE45的高精度和行动中的自动阶梯尺寸选择。
这是一项运动。使用它们中的每一个来计算PI来比较ODE23和ODE45。从0到1的整体4超过1加下行是pi。您可以表达作为差分方程式,使用每个例程来集成那个微分方程,并查看它们的计算PI接近。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获得最佳网站性能。其他MathWorks国家网站未优化您所在地的访问。