第 14 周作业:方向场与 Euler 折线

源目录中 Week14.pdf 与 week14(1).pdf 是我对同一组题的两份提交。我在这里去重,只按内容更完整、题面更清楚的 Week14.pdf 整理。

第 1 题:画积分曲线

画出下列方程的方向场和积分曲线大致形状:

  1. y′=xy'=x;
  2. y′=x2+y2y'=x^2+y^2。
查看我当时的提交与整理

对 y′=xy'=x,同一条竖线上的斜率相同,积分曲线就是

y=x22+C.y=\frac{x^2}{2}+C.

对 y′=x2+y2y'=x^2+y^2,斜率只取决于点到原点距离:同一个圆 x2+y2=r2x^2+y^2=r^2 上的斜率都等于 r2r^2。因此除原点外斜率恒正,离原点越远曲线越陡。该方程一般不要求写出初等函数闭式解,方向场信息就是本题重点。

第 2 题:Euler 折线

用 Euler 折线法,取步长 h=0.1h=0.1,求初值问题

{y′=x2−y2,y(1)=1\begin{cases} y'=x^2-y^2,\\ y(1)=1 \end{cases}

在 x=1.4x=1.4 处的近似值。

查看我当时的提交与实现

Euler 递推为

xk+1=xk+0.1,yk+1=yk+0.1(xk2−yk2).x_{k+1}=x_k+0.1,\qquad y_{k+1}=y_k+0.1(x_k^2-y_k^2).

从 (x0,y0)=(1,1)(x_0,y_0)=(1,1) 依次得到

y1=1,y2=1.021,y3=1.0607559,y_1=1,\qquad y_2=1.021,\qquad y_3=1.0607559, y4=1.1172355920615191.y_4=1.1172355920615191.

因此

y(1.4)≈1.11724.y(1.4)\approx1.11724.

我当时还在提交中用 Python 循环实现了同一递推;程序的关键不是绘图库,而是每一步严格使用旧的 (xk,yk)(x_k,y_k) 计算新值。

评论