|
We are leading you to the next level!
您需要 登录 才可以下载或查看,没有帐号?成为会员
x
本帖最后由 黑板擦 于 2020-4-30 19:35 编辑
欧拉法(Euler's method)
欧拉法,命名自它的发明者莱昂哈德·欧拉,是一种一阶数值方法,用以对给定初值的常微分方程(即初值问题)求解。它是一种解决数值常微分方程的最基本的一类显式算法(Explicit method)。
前向差分和后向差分
假设将一元函数函数y(t)离散化为一系列的点,y0,y1,...,yn,yn+1,yn+2,...y0,y1,...,yn,yn+1,yn+2,...,其中:
yn=f(tn)
tn=tn−1+h
h为步长
前向差分定义:△yn≡yn+1−yn;
前向差分等于下一时刻位置yn+1(时间向前前进一步)与当前时刻位置yn之差;
后向差分定义:△yn≡yn−yn-1;
后向差分等于当前时刻位置yn与上一时刻位置yn-1(时间向后后退一步)之差;
显式算法和隐式算法
在数值计算中,需要以差商(差分除以步长)代替导数。
如果使用前向差分,则为显式方法;如果使用后向差分,则为隐式方法。
显示欧拉法和隐式欧拉法
显式欧拉公式:yn+1=yn+hf(tn,yn)
之所以称之为显式,是因为下一时刻的值yn+1,可根据当前时刻的值yn及其导数y′n 显式地给出。
隐式欧拉公式:yn=yn−1+hf(tn,yn)
之所以称之为隐式,是因为上式是一个隐式方程。
显示欧拉法和隐式欧拉法稳定条件
显示欧拉法通常需要较小的步长才能保证稳定性和精度;
隐式欧拉法理论上无条件稳定;但实际应用中,隐式欧拉法需要求解隐式方程,通常也是使用迭代逼近的方法(例如,牛顿-拉弗森迭代法)求解,因此实际的隐式欧拉法并不是无条件稳定的。
隐式梯形法和改进欧拉法
微分方程的本质特征是方程中含有导数项,数值解法的第一步就是设法消除其导数值,这个过程称为离散化。实现离散化的基本途径是用向前差商来近似代替导数,这就是欧拉算法实现的依据。欧拉法是数值求解中最基本、最简单的方法,但其求解精度较低,一般不在工程中单独进行运算。
梯形法公式:yn+1=yn+h/2(f(tn,yn)+f(tn+1,yn+1));梯形法也是隐式算法,需要迭代求解。
改进欧拉法是对欧拉算法的改进方法,先用欧拉法求得一个初步的近似值,称为预报值,然后用它替代梯形法右端的yn+1再直接计算fn+1,得到校正值yn+1,这样建立的预报-校正系统称为改进的欧拉格式。 |
|