Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Имитац. моделирование.docx
Скачиваний:
38
Добавлен:
29.10.2018
Размер:
2.97 Mб
Скачать

3.6. Метод Рунге – Кутта для систем дифференциальных уравнений

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

можно принять

тогда

и получаем два уравнения первого порядка:

Задача Коши в этом случае содержит два начальных условия

y(t0) = y0 и z(t0) = z0.

Формулы Рунге – Кутта для рассматриваемого случая имеют

вид:

где

3.7. Общая характеристика одношаговых методов

Всем одношаговым методам присущи определенные общие черты:

1) чтобы получить информацию в новой точке, надо иметь данные лишь в одной предыдущей точке. Поэтому одношаговые методы называют «самостартующимися»;

2) в основе всех одношаговых методов лежит разложение функции в ряд Тейлора, в котором сохраняются члены, содержащие h в степени до k включительно. Целое число k называется порядком метода;

3) все одношаговые методы не требуют действительного вычисления производных, а вычисляется лишь сама функция в одной или нескольких промежуточных точках;

4) свойство «самостартования» позволяет легко менять величину шага.

3.8. Многошаговые методы

Вернемся к задаче Коши

y’ = f(t, y); y(0) = y0. (3.13)

В предыдущих методах значение yn + 1 зависело только от информации в пре-дыдущей точке tn. Кажется вполне вероятным, что можно добиться большей точности, если использовать информацию о нескольких предыдущих точках tn, tn - 1,…. Именно так и поступают в многошаговых методах [4].

Если проинтегрировать уравнение (3.13) на отрезке [tn, tn+1], то получим

или

где P(t) – полином, аппроксимирующий f(t, y).

Чтобы построить полином степени N, используем предыдущие решения yn, yn – 1, …. в точках tn,…, tn-1, …, tn - N, ... . Мы по-прежнему считаем, что узлы t расположены равномерно с шагом h. В принципе, можно проинтегрировать этот полином явно, что ведет к следующему методу:

(3.14)

В простейшем случае, когда N = 0, полином P – есть константа, равная fn, и (3.14) превращается в обычный метод Эйлера.

Если N = 1, то P – есть линейная функция, проходящая через

точки (tn-1, fn -1) и (tn, fn) , т. е.

Интегрируя этот полином от tn до tn - 1, получаем следующий метод:

(3.15)

который является двухшаговым, поскольку использует информацию в двух точках - tn и tn - 1. Аналогично, если N = 2 , то P есть квадратичный полином, интерполирующий данные (tn-2 , fn-2 ), (tn-1 , fn-1), (tn , fn), а соответствующий метод имеет вид

(3.16)

Если N = 3, то интерполяционный полином является кубическим, а соответствующий метод определяется формулой

(3.17)

Отметим, что метод (3.16) является трехшаговым, а (3.17) – четырехшаговым. Формулы (3.15) – (3.17) известны как методы Адамса –Башфорта. Метод (3.15) имеет второй порядок точности, поэтому его называют методом Адамса – Башфорта второго порядка. Аналогично, методы (3.16) и (3.17) называют соответственно методами Адамса – Башфорта третьего и четвертого порядков.

Этот процесс, в принципе, можно бы продолжить, используя все большее число предыдущих точек, а следовательно, и интерполяционный полином P более высокой степени, и получить Адамса – Башфорта сколь угодно высокого порядка. Однако точность вычислений с увеличением порядка возрастает нелинейно. Чем дальше отстоит предыдущая точка от текущей точки, тем слабее она влияет на точность. Многошаговые методы порождают проблему, которая не возникала при использовании одношаговых методов. Так как в

рассматриваемых методах используется информация о нескольких ранее полученных точках, то в отличие от одношаговых методов они не обладают свойством "самостартования". Поэтому прежде чем применять многошаговый метод, приходится вычислять исходные данные с помощью какого-либо одношагового метода. Часто для этого прибегают к методу Рунге - Кутта.