欧拉用于求解微分方程[math] f = f'[/ math]的方法是什么?

欧拉方法是求解ODE的IVP的非常古老的过程。 它是一个显式的一阶数值算法。

好,现在让我们解释一下这一切的含义。 在讨论数字过程时,如果算法仅使用先前的函数值来确定当前函数,则该算法是显式的。 相比之下,隐式可能会使用当前值,并且需要更多的计算才能解决。

一阶位仅表示误差与点之间的步长成正比。 稍后将更加清楚。

现在为算法。 欧拉方法始于ODE,例如[math] y’(t)= f(t,y(t))[/ math]和IVP,例如[math] y(n)= a_0,[/ math]并通过[math] y(n + 1)= y(n)+ h \ cdot f(t,y(n))[/ math]计算[math] y(n + 1)[/ math]。 公式中的[h] h [/ math]称为步长,可以增加或减少以改变精度。

这看起来可能令人困惑,所以让我们看一下您的示例。

我们有[math] y’(t)= f(t,y(t))= y(t)[/ math],这实际上只是[math] y(t)[/ math]的函数

您尚未指定初始条件,这对于这些数值逼近是必需的,因此我假设[math] y(0)= 1 [/ math]

最后,我们需要一个步长[math] h [/ math]。 通常,选择此选项时要考虑到最终结果,但是由于您也没有指定,因此我将取[h] h = 1 [/ math]。

然后,[y] y(n + 1)= y(n)+ h \ cdot f(t,y(n))\表示y(1)= y(0)+ h \ cdot y(0)= 1 + h \ cdot 1 = 1 + 1 = 2。[/ math]

我们可以继续此过程以获取[math] y(2),y(3)[/ math]等的值。

有一些明确的特征可以消除

  • 像这样的任何数值分析都需要起点和终点。 它们不是符号,不会像您希望的那样返回[math] y = Ce ^ x [/ math]
  • 该算法中的误差与步长成正比(这就是一阶的意思)。 因此,减小h也会减少误差。

对于僵硬的ODE以及其他具有更高阶数的类似方法,我可以进一步详细地探讨这是如何相对不稳定的,但是鉴于这是一个相对较低的详细问题,我不会费力地轰炸发问者。

数学快乐。

编辑:我刚刚意识到Wiki页面显示了完全相同的示例。 因此,如果您希望看到不太可能包含错误的内容,请查看第一句中的链接。

另外,有趣的事实:电影Hidden Figures中提到了Euler方法来解决它们的问题。 我完全忘记了它的确切含义,但是我似乎还记得当时认为欧拉方法绝对不是最佳选择。