Уровень алгоритма

Участник:Anlesnichiy/Решение задачи Коши для системы ОДУ методом Рунге-Кутты 4 порядка

Материал из Алговики
< Участник:Anlesnichiy
Версия от 18:00, 28 сентября 2016; Anlesnichiy (обсуждение | вклад) (Создал страницу. Пробное добавление материала)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску


Решение задачи Коши для системы ОДУ методом Рунге-Кутты 4 порядка
Последовательный алгоритм
Последовательная сложность ?
Объём входных данных ?
Объём выходных данных ?
Параллельный алгоритм
Высота ярусно-параллельной формы ?
Ширина ярусно-параллельной формы ?


Основные авторы описания: А.А. Лесничий (разделы 1.1, 1.2), Д.А. Алимов

1 Свойства и структура алгоритма

1.1 Общее описание алгоритма

Метод Рунге-Кутты четвертого порядка — наиболее распространенный метод из семейства методов Метод Рунге-Кутты численных алгоритмов решения обыкновенных дифференциальных уравнений и их систем. Данные итеративные методы явного и неявного приближённого вычисления были разработаны около 1900 года немецкими математиками К. Рунге и М. В. Куттой.

Формально, методом Рунге-Кутты является модифицированный и исправленный метод Эйлера, они представляют собой схемы второго порядка точности. Существуют стандартные схемы третьего порядка, не получившие широкого распространения.

1.2 Математическое описание алгоритма

1.2.1 Метод Рунге-Кутты для задачи Коши для ДУ первого порядка

Рассмотрим задачу Коши

[math] y' = f(x,y),\ a \leq x \leq b;\ y(a) = y^0 [/math]

Зададим равномерную сетку

[math] x_i = a + i*h,\ i = 1,\dots, n,\ h = \frac{b-a}{n} [/math]
Введём обозначения [math]y(x_i) = y_i[/math]. Получим вычислительную формулу:
[math] \begin{cases} k_1 = h*f(x_i,y_i)\\ k_2 = h*f(x_i + h/2,y_i + 1/2 k_1)\\ k_3 = h*f(x_i + h/2,y_i + 1/2 k_2)\\ k_4 = h*f(x_i + h,y_i + k_3)\\ y_i+1 = y_i + 1/6 \lbrace k_1 + 2k_2 + 2k_3 + k_4 \rbrace \\ \end{cases} [/math]

1.2.2 Метод Рунге-Кутты для задачи Коши для системы ДУ первого порядка

Численное решение задачи Коши для систем ОДУ 1-го порядка методами Рунге-Кутты ищется по тем же формулам, что и для ОДУ первого порядка. Например, решение методом Рунге-Кутты 4 го порядка можно найти, если положить:

[math] \begin{align} y_i \rightarrow \bar y_i\\ f(x_i,y_i) \rightarrow \bar f(x_i,\bar y_i)\\ k_l \rightarrow \bar k_l,\ l = 1, \dots, 4\\ \bar k_l = \begin{pmatrix} k^i_{l,1}\\ \vdots\\ k^i_{l,m}\\ \end{pmatrix} \end{align} [/math]

где m -- размерность системы. В результате получим

[math] \begin{cases} \bar k_1 = h*\bar f(x_i,\bar y_i)\\ \bar k_2 = h*\bar f(x_i + h/2,\bar y_i + 1/2 \bar k_1)\\ \bar k_3 = h*\bar f(x_i + h/2,\bar y_i + 1/2 \bar k_2)\\ \bar k_4 = h*\bar f(x_i + h,\bar y_i + \bar k_3)\\ \bar y_i+1 = \bar y_i + 1/6 \lbrace \bar k_1 + 2\bar k_2 + 2\bar k_3 + \bar k_4 \rbrace \\ \end{cases} [/math]

2 Литература

<references \>