在MATLAB中求解ode, 4:顺序,命名约定
从系列中:用MATLAB求解ode
MATLAB ODE求解器名称中的数字反映了它的顺序和结果的精度。如果将步长减半可以将一步中的误差降低到2的p+1次方,那么这种方法就是p阶的。
数值方法的一个重要性质是它的阶数。该方法的精度与步长的幂成正比。这个幂就是阶数。
如果h是步长,p是阶数,那么每一步的误差与h的p + 1次方成正比。遍历整个区间的误差与H的p次方成正比。
所以这意味着,如果你使用的是p阶的方法,并将步长减半,你可以期望整体误差减少2的p次方。数值方法的阶数是通过在方法推导过程中涉及泰勒级数的分析来确定的。但是我们也可以做一个实验来确定顺序。
这就是这个程序的作用。输入是ODE求解器的名称。然后对一个常微分方程进行数值积分,只涉及到t,结果就是积分的值。1 / (1 + t²)从0到1的积分。
我们知道准确答案是1/2。我们对微分方程积分两次,一次步长是0.1,另一次步长是1 / 2。我们对微分方程积分,取这两次积分的y的最终值,将这些值与准确的答案进行比较,取这两个值的比值。这表明当我们将步长减半时,误差减小了多少。
以2为底的对数就是这个比值的阶数。它应该是一个整数,所以我们可以四舍五入到最接近的整数,并返回该值作为这个函数的值。让我们先在ODE1上进行实验。
我们步长为0.1,这种方法得到的积分为0.5389,不是很准确。将步长减半,得到0.5191。它们的比例是2。对数以2为底是1。ODE1是o (1)
现在是ODE2——步长为0.1。0.499.对半切开,0.4998。它们的比值接近4。所以ODE2,我们通过这个实验发现,是(2)
现在让我们试试古典龙格-库塔。这就是它如此受欢迎的原因。非常准确。步长为0.1,就接近1/2。把步长减半,我们就更接近了。这两个比值接近16。以2为底的对数的次幂是4。所以ODE4实验上是4阶。
所以我们发现,至少在这个实验中,ODE求解器1,2,4,都有阶数。你可能已经意识到,这就是为什么我们把它们命名为ODE 1 2和4。
这就引出了MATLAB ODE套件中函数的命名约定。所有函数的名称都是主题ODEpq的变体。这意味着ODEpq方法使用p阶和q阶的方法,我们已经通过ODE 1 2和4对它有了一些了解。
这里有一个练习。修改x阶来做进一步的实验,涉及ODE求解器的阶数。把它换成其他积分。看看ODE 1 2 4的顺序。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。