来自系列:解决matlab的杂物
Moller,Mathworks
Matlab ode Solver名称的数字反映了其顺序并导致准确性。如果切割阶梯尺寸以半的切割成两半将误差减小到功率P + 1的倍数,则据说一个方法。
数值方法的一个非常重要的属性是其顺序。该方法的准确性与台尺寸的功率成比例。并且该权力被称为订单。
如果h是步长并且p是顺序,则在一个步骤中制作的误差与h成比例到p plus 1.并且在遍历整个间隔时所做的误差与h成比例到p。
因此,这意味着,如果您使用的是订单P方法,并且将步长为一半,则可以预期将整体误差减少2倍至p。通过涉及泰勒序列在衍生方法期间的分析来确定数值方法的顺序。但我们也可以进行实验来确定订单。
这就是这个程序的所作所为。输入是ODE解算器的名称。然后它将执行普通微分方程的数值集成,只是涉及t。因此,结果是积分的值。1超过1加下行的整体量为0到1。
我们知道确切的答案是1/2。因此,我们将该微分方程进行了两次,一次性地具有0.1的步长,然后具有一半的步长。我们集成了差分方程,对每个两种集成的每一个都是y的最终值,将这些值与确切的答案进行比较,取比这两个值的比率。当我们削减一半时,显示误差减少了多少。
该比率的日志基数2是顺序。它应该是一个整数,所以我们可以将其舍入到最接近的整数,并将该值作为此功能中的值返回。让我们先在ODE1上运行我们的实验。
我们逐步大小为0.1,此方法将其变成为0.5389,而不是非常准确。切成两半,得到0.5191。那些的比例是两个。对数基数2是1.所以ode1有订单1。
现在ode2--步骤大小0.1。0.499。将其切成两半,0.4998。那些比率接近4. ode2,我们发现了这个实验,获得了订单2。
现在让我们尝试古典的跑步kutta。这就是为什么它如此受欢迎。它非常准确。我们踏上0.1,我们接近1/2。切成两半,我们更接近。这两个的比率接近16.对于日志底座2是4.所以ode4具有实验,订单4。
因此,我们发现,至少使用这种单一实验,颂歌求解器1,2和4,具有1,2和4的订单。因此,当您可能意识到时,这就是我们将它们命名为Ode 1,2和4的原因。
这为我们带来了Matlab ode套件中的函数中的命名约定。所有函数都具有主题ODEPQ的变体的名称。这意味着方法OdePQ使用顺序P和Q方法,因此我们一睹了我们的名称,颂歌1,2和4。
这是一项运动。修改订单X进行涉及我们颂歌求解器的顺序进行进一步的实验。改变它做其他积分。并查看ode 1,2和4的顺序。