第四十六篇 常微分方程的一步法
之所以称为一步方法,是因为只需要有关前一步的信息就可以在下一步生成解。这使得一步法在计算机程序中相对容易实现。正如许多数值方法的典型,每一步做的工作越多,通常获得的精度就越大。需要在增加每个步骤的工作和减少范围的步骤数之间进行权衡。
一步法主要分为下面几种类型
欧拉法
修正欧拉法
中点法
4阶龙格库塔法
详情可见上篇文章常微分方程编程基础
程序如下
#常微分方程的一步法
import numpy as np
itype=4;n=1;nsteps=5;h=0.1
k0=np.zeros((n))
k1=np.zeros((n))
k2=np.zeros((n))
k3=np.zeros((n))
y=np.zeros((n))
x=0.0;y[:]=(1.0)
def f71(x,y):
n=y.shape[0]
f71=np.zeros((n))
f71[0]=