常微分方程數值解法
--------以下為各部分具體知識點:
一、引言
1.1 背景
1、原因:對于大量來源于實際問題的常微分方程,該初值問題存在唯一解,但其精確解卻不能用初等函式表示出來,
2、常見方法:決議近似方法(級數解法,逐次逼近法),數值解法
3、相關概念:單步法、兩步方法、多步法、顯示公式、隱式公式
1.2 基本思想
y ( x n + 1 ) ? y ( x n ) = ∫ x n x n + 1 f ( x , y ( x ) ) d x y(x_{n+1}) - y(x_n) = \int_{x_n}^{x_{n+1}}f(x,y(x))dx y(xn+1?)?y(xn?)=∫xn?xn+1??f(x,y(x))dx
- 左矩形:
∫ x n x n + 1 f ( x , y ( x ) ) d x = h f ( x n , y ( x n ) ) + O ( h 2 ) \int_{x_n}^{x_{n+1}}f(x,y(x))dx = hf(x_n,y(x_n)) + O(h^2) ∫xn?xn+1??f(x,y(x))dx=hf(xn?,y(xn?))+O(h2) -
E
u
l
e
r
Euler
Euler 公式
y n + 1 = y n + h f ( x n , y n ) , n = 0 , 1 , ? ? ? y_{n+1} = y_n + hf(x_n,y_n), n = 0,1, ··· yn+1?=yn?+hf(xn?,yn?),n=0,1,??? - 梯形差分公式
{ y n + 1 = y n + h 2 [ f ( x n , y n ) + f ( x n + 1 , y n + 1 ) ] y 0 = α , n = 0 , 1 , ? ? ? \begin{cases} y_{n+1} = y_n + \frac{h}{2}[f(x_n,y_n) + f(x_{n+1},y_{n+1})] \\ y_0 = \alpha, n = 0,1, ··· \end{cases} {yn+1?=yn?+2h?[f(xn?,yn?)+f(xn+1?,yn+1?)]y0?=α,n=0,1,???? -
E
u
l
e
r
Euler
Euler 中點公式
{ y n + 1 = y n ? 1 + 2 h f ( x n , y n ) y 0 = α , n = 1 , 2 , ? ? ? \begin{cases} y_{n+1} = y_{n-1} + 2hf(x_n,y_n) \\ y_0 = \alpha, n = 1,2, ··· \end{cases} {yn+1?=yn?1?+2hf(xn?,yn?)y0?=α,n=1,2,????
二、改進的 E u l e r Euler Euler 方法和 T a y l o r Taylor Taylor 展開方法
2.1 改進的 E u l e r Euler Euler 方法
{ y n + 1 = y n + h 2 ( K 1 + K 2 ) K 1 = f ( x n , y n ) K 2 = f ( x n + h , y n + h K 1 ) y 0 = α , n = 0 , 1 , 2 , ? ? ? \begin{cases} y_{n+1} = y_n + \frac{h}{2}(K_1 + K_2) \\ K_1 = f(x_n, y_n) \\ K_2 = f(x_n + h, y_n + hK_1) \\ y_0 = \alpha, n = 0,1, 2,··· \end{cases} ??????????yn+1?=yn?+2h?(K1?+K2?)K1?=f(xn?,yn?)K2?=f(xn?+h,yn?+hK1?)y0?=α,n=0,1,2,????
2.2 誤差分析
- 區域截斷誤差
y ( x n + 1 ) ? y n + 1 y(x_{n+1}) - y_{n+1} y(xn+1?)?yn+1? - E u l e r Euler Euler 公式的區域截斷誤差: O ( h 2 ) O(h^2) O(h2)
- 改進的 E u l e r Euler Euler 公式的區域截斷誤差 : O ( h 3 ) O(h^3) O(h3)
- 梯形公式的區域截斷誤差 : O ( h 3 ) O(h^3) O(h3)
- p p p 階方法:如果單步差分方法的區域截斷誤差為 O ( h p + 1 ) O(h^{p+1}) O(hp+1) 階,則稱該方法為 p p p 階方法,
2.3 T a y l o r Taylor Taylor 展開方法
y n + 1 = y n + h f ( x n , y n ) + h 2 2 f ( 1 ) ( x n , y n ) + ? ? ? + h p p ! f ( p ? 1 ) ( x n , y n ) y_{n+1} = y_n +hf(x_n,y_n) + \frac{h^2}{2}f^{(1)}(x_n,y_n) + ··· + \frac{h^p}{p!}f^{(p-1)}(x_n,y_n) yn+1?=yn?+hf(xn?,yn?)+2h2?f(1)(xn?,yn?)+???+p!hp?f(p?1)(xn?,yn?)
三、 R u n g e ? K u t t a Runge-Kutta Runge?Kutta 方法
3.1 公式
3.2 二階 R ? K R-K R?K
1、公式
2、截斷誤差
3.3 三階 R ? K R-K R?K
1、公式
2、截斷誤差
3.4 四階 R ? K R-K R?K
1、公式
2、截斷誤差
3.5 變步長 R ? K R-K R?K
四、單步方法的收斂性和穩定性
4.1 單步方法的收斂性
∣ Φ ( x , y , h ) ? Φ ( x , y  ̄ , h ) ∣ ≤ L ∣ y ? y  ̄ ∣ |\Phi(x,y,h) - \Phi(x,\overline{y},h)| \le L|y - \overline{y}| ∣Φ(x,y,h)?Φ(x,y?,h)∣≤L∣y?y?∣
4.2 穩定性
- 絕對穩定、絕對穩定域、絕對穩定區間
- 公式
y n + 1 = f ( λ , h ) y n y_{n + 1} = f(\lambda, h) y_n yn+1?=f(λ,h)yn?
五、線性多步方法(利用待定系數法構造線性多步方法)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/233882.html
標籤:其他
