第九章:常微分方程数值解
- 用向前欧拉公式解初值问题(取 h = 0.1 h=0.1 h=0.1 ) :
{ d y d x = x + y 2 y ( 0 ) = 1 0.0 ⩽ x ⩽ 0.5 \left\{\begin{array}{l} \frac{\mathrm{d} y}{\mathrm{~d} x}=x+y^{2} \\ y(0)=1 \end{array} \quad 0.0 \leqslant x \leqslant 0.5\right. { dxdy=x+y2y(0)=10.0⩽x⩽0.5
- 用向后欧拉公式解初值问题(取 h = 0.1 h=0.1 h=0.1 ) :
{ d y d x = x 2 + y y ( 1.0 ) = 1 , 1.0 ⩽ x ⩽ 1.5 \left\{\begin{array}{l} \frac{\mathrm{d} y}{\mathrm{~d} x}=x^{2}+y \\ y(1.0)=1 \end{array}, \quad 1.0 \leqslant x \leqslant 1.5\right. { dxdy=x2+yy(1.0)=1,1.0⩽x⩽1.5
-
y ′ = x + y 2 y ′ = x + y 2 = y ( x n + 1 ) − y ( x n ) h ⇒ y n + 1 = 0.1 ( x n + y n 2 ) + y n \left. \begin{array} { l } { y ^ { \prime } = x + y ^ { 2 } } \\ { y ^ { \prime } = x + y ^ { 2 } = \frac { y ( x _ { n + 1 } ) - y ( x _ { n } ) } { h } } \\ { \Rightarrow y _ { n + 1 } = 0.1 ( x _ { n } + y _ { n } ^ { 2 } ) + y _ { n } } \end{array} \right. y′=x+y2y′=x+y2=hy(xn+1)−y(xn)⇒yn+1=0.1(xn+yn2)+yn
y ( 0 ) = 1 , x n + 1 = x n + h , x 0 = 0 y(0)=1,x_{n+1}=x_{n}+h,x_{0}=0 y(0)=1,xn+1=xn+h,x0=0
-
y n + 1 = y n + ( x n + 1 2 + y n + 1 ) ⋅ h y n + 1 = y n + ( x n 2 + y n ) ⋅ h y ( 0 ) = 1 x n + 1 = x n + h x 0 = 1 \left. { y _ { n + 1 } = y _ { n } + ( x _ { n + 1 } ^ { 2 } + y _ { n + 1 } ) \cdot h } \\ { y _ { n + 1 } = y _ { n } + ( x _ { n } ^ { 2 } + y _ { n } ) \cdot h }\\ { y _ { ( 0 ) } = 1 \quad x _ { n + 1 } = x _ { n } + h \quad x _ { 0 } = 1 } \right. yn+1=yn+(xn+12+yn+1)⋅hyn+1=yn+(xn2+yn)⋅hy(0)=1xn+1=xn+hx0=1