Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Гл 8_Ст_ Одношаг_методы.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
829 Кб
Скачать
☆

8.6. Методы Рунге-Кутта

При использовании методов Рунге-Кутта для решения уравнения на каждом шаге приращения аргумента вычисляются значения функции f(x,y) в нескольких точках. Последовательно находятся:

,

. . . . . . . . . . . . . . . , (8.25)

.

Значение неизвестной функции в новой точке вычисляется по формуле:

.

Простейшим примером является второй модифицированный метод Эйлера, который может быть описан следующей последовательностью формул:

,

,

.

Для построения метода Рунге-Кутта требуемого порядка нужно найти коэффициенты .

Обозначим: u(x) – точное решение, проходящее через точку (x, y(x)).

Тогда равно локальной погрешности метода. Если f(x,y) – достаточно гладкая функция своих аргументов, то все ki(h), i=1,..,q и – гладкие функции параметра h. Предположим, что

, (8.26)

если f(x,y) – произвольная достаточно гладкая функция, и найдется такая гладкая функция f(x,y), что . Тогда по формуле Тейлора

.

Итак, если выполнены соотношения (8.26), то метод имеет порядок p. Следовательно, чтобы построить метод порядка p, нужно найти такие коэффициенты , при которых выполняются соотношения (8.26). Это трудоемкая задача. Выведем в системе Mathematica список первых трех производных от функции, стоящей в правой части дифференциального уравнения. Для упрощения выражений – раскрытия скобок и приведения подобных членов – используем функцию Expand. Команда в системе Mathematica:

In[]:= y'[x_]=f[x, y[x]]; Table[{k," ", D[f[x, y[x]], {x, k}]//Expand}, {k, 1, 3}]

П олученный список производных:

Для получения метода третьего порядка необходимо взять q=3. Получается система из шести уравнений с восемью неизвестными. Наиболее употребительная совокупность формул для метода третьего порядка:

(8.27)

Можно усмотреть здесь аналогию с квадратурной формулой Симпсона.

Наиболее употребительный вариант метода Рунге-Кутта четвертого порядка может быть описан последовательностью формул:

(8.28)

В системе Mathcad встроенная функция, реализующая метод Рунге-Кутта четвертого порядка, для решения системы из n уравнений, вызывается командой: rkfixed(y, x1, x2, npoints, D). Аргументы функции:

  • y – вектор, содержащий n начальных условий,

  • x1, x2 – начальная и конечная точки отрезка интегрирования,

  • npoints – количество точек, в которых вычисляется приближенное решение,

  • D – вектор, размерности n, содержащий правые части системы уравнений.

В случае одного уравнения y и D – скалярные величины.

Функция rkfixed применяется также для решения уравнения n-го порядка, которое может быть нелинейным относительно старшей производной. В этом случае уравнение предварительно преобразуется к системе уравнений первого порядка.

Функция rkfixed возвращает матрицу, в которой первый столбец содержит значения независимой переменной, а остальные столбцы содержат найденные значения неизвестных функций. Количество строк возвращаемой матрицы равно npoints+1.

Пример 8.9. Сравним погрешности решения начальной задачи тремя методами: простым и модифицированным методами Эйлера, а также методом Рунге-Кутта. Решение в среде Mathcad приведено на рис. 8.6. Точное решение задачи представляет собой экспоненциальную функцию .

На отрезке задаем равномерную сетку значений аргумента с шагом . Последовательность включает решение обычным методом Эйлера. Решение первым модифицированным методом Эйлера представляет последовательность . На левом графике показаны эти два решения и точное решение .

Решение методом Рунге-Кутта находим с помощью встроенной функции rkfixed. Аргументы функции:

1 – значение y в начальной точке;

0, 2 – отрезок интегрирования уравнения;

N – количество узлов сетки;

D – функция, описывающая правую часть дифференциального уравнения, D(t, y)=y.

Решение методом Рунге-Кутта и точное решение показаны на правом рисунке.

Формируем матрицу погрешностей Err. Первый столбец матрицы включает значения . Второй столбец содержит погрешности решения модифицированным методом Эйлера, третий – погрешности решения методом Рунге-Кутта. Приведенные цифры наглядно демонстрируют преимущества метода четвертого порядка.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]