微分方程式を解くための数値解法

Pocket

 次の境界値問題が与えられたとします.

\displaystyle dy/dx = f(x, y)\ \ \ y(x_0) = y_0\ \ \ (1)

恐らく正確な解を得ることはできないでしょう.このような場合,様々な方法で近似値や数値解法が得られます.いくつかの方法を列挙します.

  1. 逐次近似法またはオイラー法
  2. テイラー級数法
  3. ピカール法
  4. ルンゲクッタ法

1. 逐次近似法またはオイラー法

 この手法では微分方程式 (1) を次の近似式で置換します.

\displaystyle \frac{y(x_0 + h)-y(x_0)}{h} = f(x_0, y_0)\ \ \ (2)

そのため,

\displaystyle y(x_0 + h) = y(x_0) + hf(x_0, y_0)\ \ \ (3)

このような連続性により y(x_0 + 2h),\ y(x_0 + 3h) 等を見出すことができます.十分に小さな h を選ぶことで良い近似が得られます.

 この方法の変法もまた用いられています.

2. テイラー級数法

 (1) における微分方程式を連続して微分することで y'(x_0),\ y''(x_0),\ y'''(x_0),\cdots が得られます.そしてその解は,その級数が収束することを前提に,次のテイラー級数で得られます.

\displaystyle y(x) = y(x_0) + y'(x_0)(x - x_0) + \frac{y''(x_0)(x - x_0)^2}{2!} + \cdots\ \ \ (4)

級数が収束するならいかなる精度でも y(x_0 + h) が得られます.

3. ピカール法

 (1) の微分方程式を積分し,境界条件を用いることで次式が得られます.

\displaystyle y(x) = y_0 + \int^{x}_{x_0}\! f(u, y)du\ \ \ (5)

近似式 y_1(x) = y_0 を前提として (5) から次の新しい近似式が得られます.

\displaystyle y_2(x) = y_0 + \int^{x}_{x_0}\! f(u, y_1)du\ \ \ (6)

(5) においてこれを用いると別の近似式が得られます.

\displaystyle y_3(x) = y_0 + \int^{x}_{x_0}\! f(u, y_2)du\ \ \ (7)

 このように連続して一連の近似式 y_1, y_2, y_3,\cdots を得ます.この一連の近似式の極限は,もし存在するなら,求められる解です.しかしながら数回の手順を行うことで良い近似が得られます.

4. ルンゲクッタ法

 この手法は次の計算を含みます.

\displaystyle \left.\begin{array}{rcl}k_1 & = & hf(x_0, y_0) \\ k_2 & = & hf(x_0 + \frac{1}{2}h, y_0 + \frac{1}{2}k_1) \\ k_3 & = & hf(x_0 + \frac{1}{2}h, y_0 + \frac{1}{2}k_2 \\ k_4 & = & hf(x_0 + \frac{1}{2}h, y_0 + \frac{1}{2}k_3) \end{array} \right\}\ \ \ (8)

 ゆえに

\displaystyle y(x_0 + h) = y_0 + \frac{1}{6}(k_1 + 2k_2 + 2k_3 + k_4)\ \ \ (9)

 これらの手法もまた数個の1階の微分方程式として記述することで高階の微分方程式に適合しています.

Pocket

投稿者: admin

趣味:写真撮影とデータベース. カメラ:TOYO FIELD, Hasselblad 500C/M, Leica M6. SQL Server 2008 R2, MySQL, Microsoft Access.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です