欧拉方法是一种一阶数值方法,用以对给定初值的常微分方程(即初值问题)求解。它是一种解决数值常微分方程的最基本的一类显型方法。
我们用上面的方程来控制位置和速度的变化率。
- 位置的变化率是速度,
- 速度的变化率是加速度,
按牛顿第二定律,力除以质量,在典型的设置中,我们也知道时间0处的位置和 速度。
现在我们使用计算机来了解这些方程式导致的结果,最简单的方法称为前向欧拉方法。
Small time steps of size h:
欧拉的思想是通过在很短的时间内来解决这些方程式。如果我们从初始位置——和初始速度——开始,那么在一个很的短时间间隔内会发生什么呢?
位置将大约增加速度的h倍:如果速度是每秒2米,我们等待3秒,位置将改变6米。当然,实际仿真时我们使用的时间步长要小得多。
速度的变化也是类似的,在一些小的时间间隔之后,速度将是其原始值加上时间步长乘以加速度,即。
所以这个方程会使我们获得大概从时刻0到时刻的解。这里用等号其实并不是很准确,应该是约等于。
以同样的方式,我们可以用另一个时间步长得出从h到2h的结果。我们知道在第一步结束时我们已达到的位置,并且我们继续使用新的速度,这导致了新的位置——速度也是类似的。反复迭代此过程,就可以随时查找位置和速度的估计值。
另一种角度看上面的公式:从当前时刻出发,根据当前时刻的函数值及其导数,可得到下一时刻的值。因此显式欧拉法又称为前向欧拉(Forward Euler)