本文介绍如何计算数值方法的收敛阶。以 Euler 方法、梯形公式、改进 Euler 方法为例,并用 MATLAB 编程,最后展示了输出结果。
误差阶
数值解法的基本思想是,通过某种离散化手段将微分方程转化为差分方程,如单步法
它在
收敛性定义:若一种数值方法(如单步法对于固定的
收敛性定理:假设单步法具有
又设初值
数值方法误差阶的计算
设数值方法的误差阶
省略
两边都取对数
如果函数区间为
线性 ODE 例子
方程的真解:
Euler 方法
MATLAB 程序
1 | % Euler1_error.m |
输出结果
1 | Error = |
梯形公式
MATLAB 程序
1 | % Trapezoidal_error.m |
输出结果
1 | Error = |
改进的 Euler 方法
MATLAB 程序
1 | % ModiEuler_error.m |
输出结果
1 | Error = |