7.4.2 迭代公式与步长¶
掌握欧拉方法的迭代公式 y_{n+1} = y_n + h·f(x_n, y_n),理解步长h对近似精度的影响
定义¶
欧拉方法(Euler's Method)是一种数值求解微分方程初值问题的基本方法。给定微分方程 \(\frac{dy}{dx} = f(x, y)\) 和初始条件 \(y(x_0) = y_0\),欧拉方法通过迭代公式逐步逼近解曲线。
迭代公式的含义: 设步长为 \(h\)(相邻两个计算点之间的 \(x\) 坐标差),则第 \(n+1\) 个点的纵坐标由第 \(n\) 个点的纵坐标加上在该点处切线的上升量得到。具体地,在点 \((x_n, y_n)\) 处,微分方程给出的斜率为 \(f(x_n, y_n)\),沿着这条切线走过水平距离 \(h\),纵坐标的增量为 \(h \cdot f(x_n, y_n)\)。
步长的影响: 步长 \(h\) 越小,每一步的近似误差越小,但需要更多的迭代步数;步长 \(h\) 越大,计算量减少,但近似精度下降。这体现了数值计算中精度与效率的权衡。
核心公式¶
- \(["\)y_{n+1} = y_n + h \cdot f(x_n, y_n)\(", "\)x_n = x_0 + n \cdot h\(", "\)\text{局部截断误差} = O(h^2)\(", "\)\text{全局误差} = O(h)\(", "\)y(x_n) - y_n \approx C \cdot h\("]\)
易错点¶
- ⚠️ 混淆步长 \(h\) 和迭代次数 \(n\):学生常误认为 \(h = n\),实际上 \(x_n = x_0 + nh\),步长 \(h\) 是固定的参数,\(n\) 是迭代次数
- ⚠️ 在计算 \(y_{n+1}\) 时忘记乘以步长 \(h\),直接用 \(y_{n+1} = y_n + f(x_n, y_n)\),导致数值量纲不对
- ⚠️ 步长选择不当导致精度问题:选择过大的步长会使近似值严重偏离真实值,尤其在解曲线变化剧烈的区间;而盲目减小步长会增加舍入误差的累积
- ⚠️ 在应用迭代公式时,错误地使用 \(f(x_{n+1}, y_{n+1})\) 而不是 \(f(x_n, y_n)\),这违反了欧拉方法的基本原理