欧拉法

Euler's Method
是求解常微分方程初值问题的一种简单而经典的数值方法。
它通过迭代的线性逼近来估计函数值随时间的变化,使用差商来近似一定步长的导数

欧拉法用于求解形式为 y=f(x,y) 的常微分方程,其中 y 是未知函数,x 为自变量,y=dydx

{y=f(x,y)y(x0)=y0

前向欧拉法

Forward Euler 一阶数值积分方法

yn+1=yn+hf(xn,yn)

实际上欧拉法的思想很简单,精度也不够高
一阶精度:时间误差与步长的一次方成正比
当步长较大时,可能不稳定
精度较低,不足以解决需要高精度的问题。

后向欧拉法

Backward Euler 一阶数值积分方法
线性外推来估计下一个时间点的解

yn+1=yn+hf(xn+1,yn+1)

后向欧拉法比前向欧拉法更稳定

梯形法

Trapezoidal 二阶数值积分方法
结合前向欧拉法和后向欧拉法
利用当前点和下一个时间点的导数的平均值来估计下一个时间点的解

yn+1ynxn+1xn=12(f(xn,yn)+f(xn+1,yn+1))yn+1=yn+h2(f(xn,yn)+f(xn+1,yn+1))

改进欧拉法

改进欧拉法 (Improved Euler's Method)

yn+1=yn+hf(xn,yn)

yn+1=yn+h2(f(xn,yn)+f(xn+1,yn+1))

尽管欧拉法在精度和稳定性方面有局限性,但它仍然是理解和学习数值方法的基础。对于更复杂或要求更高的问题,通常会使用更高阶的方法,如龙格-库塔法

欧拉法应用

将连续时间项离散化
在每个采样周期内通过线性插值差分方程来近似连续时间的积分过程。

离散PID

微分项
积分项
原项 1s N1+Ns
前向欧拉 Tsz1 N1+NTsz1
反向欧拉 Tszz1 N1+NTszz1
梯形法 Ts2z+1z1 N1+N2Ts(z+1)z1