数值积分法是求定积分的近似值的数值方法。即用被积函数的有限个采样值的离散或加权平均近似值代替定积分的值,是一种递推的方法。
数值积分法也是计算机仿真模拟中常用的一种方法。在已知函数的微分方程时,求解函数下一时刻的值,我们主要有欧拉法、梯形法 和 龙格库塔法。
欧拉积分
欧拉积分法是这些方法中精度最低的,但也是最容易编程实现的一种方法。欧拉法的表达式可以写成下面的形式:
微分方程:
则欧拉积分定义为:
假设内的值保持不变,即斜率为,因此欧拉积分又称为一阶近似,又被称为积分步长或采样周期。
龙格-库塔积分
本质上是采用函数值的线性组合来近似代替泰勒展开后的高阶导数项。在工程中最常用的是四阶的龙格-库塔积分(Runge-Kutta methods),也就是RK4积分,计算方式如下:
同样设有如下微分方程:
则RK4积分定义为:
其中,,,, ,的取值有所变化请注意。
从公式中可以发现,此时的斜率已经变为了四个斜率的加权平均后的结果(这个6也可以理解为是归一化因子,但本质上就是加权后做平均),其中、的权重较大。因此,采用龙格-库塔方法得到的斜率(速度)较欧拉法更精确,数值积分结果较真实积分误差更小。