Метод Рунге — Кутти

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Методи Рунге — Кутти — важлива група чисельних методів розв’язування (систем) звичайних диференціальних рівнянь. Названі на честь німецьких математиків Карла Рунге і Мартіна Кутти, які відкрили ці методи.

Зміст

Класичний метод Рунге — Кутти 4-го порядку [ред.]

Метод Рунге — Кутти 4-го порядку настільки широко розповсюджений, що його часто називають просто методом Рунге — Кутти.

Розглянемо задачу Коші для системи диференціальних рівнянь довільного порядку, що записується у векторній формі як

\textbf{y}'=\textbf{f}(x,\textbf{y}),~~~~~ \textbf{y}(x_0)=\textbf{y}_0.

Тоді значення невідомої функції в точці \ x_{n+1} обчислюється відносно значення в попередній точці \ x_n за формулою:

 \textbf{y}_{n+1} = \textbf{y}_n + {h \over 6} (\textbf{k}_1 + 2\textbf{k}_2 + 2\textbf{k}_3 + \textbf{k}_4) ,
\ x_{n+1}=x_n+h

де \ h — крок інтегрування, а коефіцієнти \textbf{k}_n розраховуються таким чином:

 \textbf{k}_1 = \textbf{f} \left( x_n, \textbf{y}_n \right),
 \textbf{k}_2 = \textbf{f} \left( x_n + {h \over 2}, \textbf{y}_n + {h \over 2} \textbf{k}_1 \right),
 \textbf{k}_3 = \textbf{f} \left( x_n + {h \over 2}, \textbf{y}_n + {h \over 2} \textbf{k}_2 \right),
 \textbf{k}_4 = \textbf{f} \left( x_n + h, \textbf{y}_n + h\textbf{k}_3 \right).

Це метод 4-го порядку, тобто похибка на кожному кроці становить \ O(h^5), а сумарна похибка на кінцевому інтервалі інтегрування є величиною \ O(h^4).

Прямі методи Рунге — Кутти [ред.]

Група прямих методів Рунге — Кутти є узагальненням методу Рунге — Кутти 4-го порядку. Воно задається формулами

 \textbf{y}_{n+1} = \textbf{y}_n + h\sum_{i=1}^s b_i \textbf{k}_i,

де

 \textbf{k}_1 = \textbf{f}(x_n, \textbf{y}_n), \,
 \textbf{k}_2 = \textbf{f}(x_n+c_2h, \textbf{y}_n+a_{21}h\textbf{k}_1), \,
 \textbf{k}_3 = \textbf{f}(x_n+c_3h, \textbf{y}_n+a_{31}h\textbf{k}_1+a_{32}h\textbf{k}_2), \,
 \vdots
 \textbf{k}_s = \textbf{f}(x_n+c_sh, \textbf{y}_n+a_{s1}h\textbf{k}_1+a_{s2}h\textbf{k}_2+\cdots+a_{s,s-1}h\textbf{k}_{s-1}).

Конкретний метод визначається числом \ s і коефіцієнтами \ b_i, a_{ij} і \ c_i. Ці коефіцієнти часто впорядковують в таблицю

0
 c_2  a_{21}
 c_3  a_{31}  a_{32}
 \vdots  \vdots  \ddots
 c_s  a_{s1}  a_{s2}  \cdots  a_{s,s-1}
 b_1  b_2  \cdots  b_{s-1}  b_s

Для коефіцієнтів методу Рунге — Кутти мають справджуватись умови \sum_{j=1}^{i-1} a_{ij} = c_i для  i=\overline{2,s}.

Якщо ми хочемо, щоб метод мав порядок \ p, то варто так само забезпечити умову \bar\textbf{y}(h+x_0)-\textbf{y}(h+x_0)=O(h^{p+1}), де \bar\textbf{y}(h+x_0) — наближення, отримане за методом Рунге — Кутти. Після багаторазового диференціювання ця умова перетвориться в систему поліноміальних рівнянь, розв'язки якої є коефіцієнтами методу.

Приклад розв'язання в середовищі MATLAB [ред.]

Розв'язання систем диференціальних рівнянь методом Рунге-Кутти є одним з найбільш поширених числових методів розв'язання в техніці. В середовищі MATLAB (досить поширена і зручна мова програмування для технічних обчислень) реалізований один з його різновидів — метод Дорманда-Принса.

Див. також [ред.]

Література [ред.]

  • William H. Press, Brian P. Flannery, Saul A. Teukolsky, William T. Vetterling. Numerical Recipes in C. Cambridge, UK: Cambridge University Press, 1988. (Розділи 16.1 і 16.2.).