Из Википедии, свободной энциклопедии
  (Перенаправлен из Рунге-Кутта )
Перейти к навигации Перейти к поиску

В численном анализе , что методы Рунге-Кутта представляют собой семейство неявных и явных итерационных методов, которые включают в себя хорошо известную процедуру под названием Эйлера Метод , используемый в височной дискретизацией для приближенных решений обыкновенных дифференциальных уравнений . [1] Эти методы были разработаны около 1900 года немецкими математиками Карлом Рунге и Вильгельмом Куттой .

Сравнение методов Рунге-Кутты для дифференциального уравнения y '= sin (t) ^ 2 * y (оранжевый - точное решение)

Метод Рунге – Кутты [ править ]

Склоны по классическому методу Рунге-Кутта

Наиболее широко известный представитель семейства Рунге-Кутта обычно упоминается как «RK4», «классический метод Рунге-Кутта» или просто как «метод Рунге-Кутта».

Пусть проблема начального значения будет определена следующим образом:

Вот неизвестная функция (скаляр или вектор) времени , которую мы хотим аппроксимировать; Нам говорят , что скорость , с которой изменяется, является функцией и сам по себе. В начальный момент соответствующее значение равно . Функции и начальные условия , приведены.

Теперь выберите размер шага h > 0 и определите

для n = 0, 1, 2, 3, ..., используя [2]

(Примечание: приведенные выше уравнения имеют разные, но эквивалентные определения в разных текстах). [3]

Вот аппроксимация RK4 , а следующее значение ( ) определяется текущим значением ( ) плюс средневзвешенное значение четырех приращений, где каждое приращение является произведением размера интервала h и предполагаемого наклона, указанного как функция f в правой части дифференциального уравнения.

  • - наклон в начале интервала с использованием ( метода Эйлера );
  • - наклон в середине интервала с использованием и ;
  • это снова наклон в средней точке, но теперь с использованием и ;
  • - наклон в конце интервала с использованием и .

При усреднении четырех уклонов больший вес придается уклонам в средней точке. Если не зависит от , так что дифференциальное уравнение эквивалентно простому интегралу, то RK4 является правилом Симпсона . [4]

Метод RK4 является методом четвертого порядка, что означает, что локальная ошибка усечения имеет порядок , а общая накопленная ошибка порядка .

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

Явные методы Рунге – Кутты [ править ]

Семейство явных методов Рунге – Кутты является обобщением упомянутого выше метода RK4. Это дается

где [5]

(Примечание: приведенные выше уравнения могут иметь разные, но эквивалентные определения в некоторых текстах). [3]

Чтобы указать конкретный метод, необходимо указать целое число s (количество этапов) и коэффициенты a ij (для 1 ≤ j < is ), b i (для i = 1, 2, ..., s ) и c i (для i = 2, 3, ..., s ). Матрица [ a ij ] называется матрицей Рунге – Кутты , а b i и c i называются весами и узлами . [6]Эти данные обычно размещаются в мнемоническом устройстве, известном как таблица Мясника (в честь Джона К. Батчера ):

Ряд Тейлора разложение показывает , что метод Рунге-Кутта совместна тогда и только тогда ,

Существуют также сопутствующие требования, если требуется, чтобы метод имел определенный порядок p , что означает, что локальная ошибка усечения равна O ( h p +1 ). Их можно вывести из определения самой ошибки усечения. Например, двухэтапный метод имеет порядок 2, если b 1 + b 2 = 1, b 2 c 2 = 1/2 и b 2 a 21 = 1/2. [7] Обратите внимание, что популярным условием определения коэффициентов является [8]

Однако одно это условие не является ни достаточным, ни необходимым для согласованности.[9]

В общем, если явный метод Рунге – Кутты имеет порядок , то можно доказать, что количество этапов должно удовлетворять , а если , то . [10] Однако неизвестно, являются ли эти границы точными во всех случаях; например, все известные методы 8-го порядка имеют не менее 11 этапов, хотя возможно, что существуют методы с меньшим числом этапов. (Приведенная выше оценка предполагает, что может существовать метод с 9 этапами; но также может быть и то, что оценка просто не точна.) Действительно, это открытый вопрос, каково точное минимальное количество этапов для явного метода Рунге – Кутты. способ иметь порядокв тех случаях, когда еще не обнаружены методы, удовлетворяющие приведенным выше оценкам с равенством. Вот некоторые известные значения: [11]

Доказуемые границы выше означают, что мы не можем найти методы заказов, которые требуют меньшего количества этапов, чем методы, которые мы уже знаем для этих заказов. Однако вполне возможно, что мы сможем найти метод упорядочения, который имеет только 8 стадий, тогда как единственные известные сегодня имеют не менее 9 стадий, как показано в таблице.

Примеры [ править ]

Метод RK4 подпадает под эти рамки. Его таблица [12]

Небольшая вариация «метода Рунге – Кутты» также принадлежит Кутте в 1901 году и называется правилом 3/8. [13] Основным преимуществом этого метода является то, что почти все коэффициенты ошибок меньше, чем в популярном методе, но для этого требуется немного больше FLOP (операций с плавающей запятой) на временной шаг. Его таблица Мясника

Однако самый простой метод Рунге – Кутты - это (прямой) метод Эйлера , задаваемый формулой . Это единственный непротиворечивый явный метод Рунге – Кутты с одним этапом. Соответствующая таблица

Двухэтапные методы второго порядка [ править ]

Пример метода второго порядка с двумя этапами предоставляется методом средней точки :

Соответствующая таблица

Метод средней точки - не единственный метод Рунге – Кутты второго порядка, состоящий из двух этапов; существует семейство таких методов, параметризованных параметром α и задаваемых формулой [14]

Его таблица Мясника

В этом семействе дает метод средней точки и является методом Хойна . [4]

Используйте [ редактировать ]

В качестве примера рассмотрим двухэтапный метод Рунге – Кутты второго порядка с α = 2/3, также известный как метод Ральстона . Это дано таблицей

с соответствующими уравнениями

Этот метод используется для решения задачи начального значения

с размером шага h = 0,025, поэтому метод должен состоять из четырех шагов.

Метод работает следующим образом:

Численные решения соответствуют подчеркнутым значениям.

Адаптивные методы Рунге – Кутты [ править ]

Адаптивные методы предназначены для оценки локальной ошибки усечения одного шага Рунге – Кутты. Для этого используются два метода: один с порядком, а другой с порядком . Эти методы переплетены, т. Е. Имеют общие промежуточные этапы. Благодаря этому оценка ошибки требует небольших или пренебрежимо малых вычислительных затрат по сравнению с шагом с помощью метода более высокого порядка.

Во время интегрирования размер шага адаптируется так, чтобы оцененная ошибка оставалась ниже определенного пользователем порога: если ошибка слишком велика, шаг повторяется с меньшим размером шага; если ошибка намного меньше, размер шага увеличивается для экономии времени. Это приводит к (почти) оптимальному размеру шага, что экономит время вычислений. Более того, пользователю не нужно тратить время на поиск подходящего размера шага.

Шаг более низкого порядка определяется выражением

где те же, что и для метода высшего порядка. Тогда ошибка

что есть . Таблица Бутчера для этого типа метода расширена, чтобы дать значения :

Метод Рунге – Кутты – Фельберга имеет два метода порядков 5 и 4. Его расширенная таблица Бутчера:

Однако простейший адаптивный метод Рунге – Кутты включает в себя сочетание метода Хойна , который имеет порядок 2, с методом Эйлера , который является порядком 1. Его расширенная таблица Бутчера имеет следующий вид:

Другие адаптивные методы Рунге-Кутта являются метод Bogacki-Shampine (заказы 3 и 2), метод Расчетно-Карп и метод Дорманда-Принц (оба с заказами 5 и 4).

Неконфлюэнтные методы Рунге – Кутты [ править ]

Метод Рунге – Кутты называется неконфлюэнтным [15], если все они различны.

Методы Рунге – Кутты – Нистрома [ править ]

Методы Рунге – Кутты – Нистрома - это специализированные методы Рунге-Кутты, оптимизированные для дифференциальных уравнений второго порядка [16] [17]

Неявные методы Рунге – Кутты [ править ]

Все упомянутые до сих пор методы Рунге – Кутты являются явными . Явные методы Рунге – Кутты обычно не подходят для решения жестких уравнений, поскольку их область абсолютной устойчивости мала; в частности, он ограничен. [18] Этот вопрос особенно важен при решении дифференциальных уравнений в частных производных .

Неустойчивость явных методов Рунге – Кутты мотивирует развитие неявных методов. Неявный метод Рунге – Кутты имеет вид

где

[19]

Разница с явным методом заключается в том, что в явном методе сумма по j увеличивается только до i - 1. Это также отображается в таблице Бутчера: матрица коэффициентов явного метода имеет нижнюю треугольную форму. В неявном методе сумма по j увеличивается до s, а матрица коэффициентов не является треугольной, что дает таблицу Бутчера вида [12]

См. Выше адаптивные методы Рунге-Кутты для объяснения ряда.

Следствием этого различия является то, что на каждом шаге необходимо решать систему алгебраических уравнений. Это значительно увеличивает вычислительные затраты. Если для решения дифференциального уравнения с m компонентами используется метод с s этапами , то система алгебраических уравнений имеет ms компоненты. Этому можно противопоставить неявные линейные многоступенчатые методы (другое большое семейство методов для ОДУ): неявный s- ступенчатый линейный многоступенчатый метод должен решать систему алгебраических уравнений только с m компонентами, поэтому размер системы не увеличивается. по мере увеличения количества шагов. [20]

Примеры [ править ]

Простейшим примером неявного метода Рунге – Кутты является обратный метод Эйлера :

Таблица Мясника для этого проста:

Эта таблица Бутчера соответствует формулам

который можно перестроить, чтобы получить формулу обратного метода Эйлера, указанную выше.

Другой пример неявного метода Рунге – Кутты - правило трапеций . Его таблица Мясника:

Правило трапеции - это метод коллокации (как описано в этой статье). Все методы коллокации являются неявными методами Рунге-Кутты, но не все неявные методы Рунге-Кутты являются методами коллокации. [21]

Эти методы Гаусса-Лежандра образуют семейство методов коллокации на основе гауссовой квадратуре . Метод Гаусса – Лежандра с s этапами имеет порядок 2 s (таким образом, могут быть построены методы с произвольно высоким порядком). [22] Метод с двумя этапами (и, следовательно, порядок четыре) имеет таблицу Мясника:

[20]

Стабильность [ править ]

Преимущество неявных методов Рунге – Кутты перед явными заключается в их большей устойчивости, особенно в применении к жестким уравнениям . Рассмотрим линейное тестовое уравнение y ' = λ y . Метод Рунге – Кутты, примененный к этому уравнению, сводится к итерации , где r определяется как

[23]

где e обозначает вектор единиц. Функция r называется функцией устойчивости . [24] Из формулы следует, что r является частным двух многочленов степени s, если метод имеет s этапов. Явные методы имеют строго нижнюю треугольную матрицу A , из чего следует, что det ( I - zA ) = 1 и что функция устойчивости является полиномом. [25]

Численное решение линейного тестового уравнения обращается в ноль, если | г ( г ) | <1 при z = h λ. Множество таких z называется областью абсолютной устойчивости . В частности, метод называется абсолютно устойчивым, если все z с Re ( z ) <0 находятся в области абсолютной устойчивости. Функция устойчивости явного метода Рунге – Кутты является полиномом, поэтому явные методы Рунге – Кутта никогда не могут быть A-стабильными. [25]

Если метод имеет порядок р , то функция удовлетворяет стабильность как . Таким образом, представляет интерес изучение частных многочленов заданных степеней, которые наилучшим образом аппроксимируют экспоненциальную функцию. Они известны как аппроксимации Паде . Аппроксимация Паде с числителем степени m и знаменателем степени n является A-стабильной тогда и только тогда, когда mnm + 2. [26]

Метод Гаусса – Лежандра с s этапами имеет порядок 2 s , поэтому его функция устойчивости является аппроксимацией Паде с m = n = s . Следовательно, метод является A-устойчивым. [27] Это показывает, что A-стабильный Рунге – Кутта может иметь сколь угодно высокий порядок. Напротив, порядок A-устойчивых линейных многоступенчатых методов не может превышать двух. [28]

B-стабильность [ править ]

Концепция A-устойчивости решения дифференциальных уравнений связана с линейным автономным уравнением . Далквист предложил исследование устойчивости численных схем применительно к нелинейным системам, удовлетворяющим условию монотонности. Соответствующие концепции были определены как G-устойчивость для многоступенчатых методов (и связанных одноэлементных методов) и B-устойчивость (Butcher, 1975) для методов Рунге – Кутты. Метод Рунге – Кутты, примененный к проверяющей нелинейной системе , называется B-устойчивым , если это условие следует для двух численных решений.

Пусть , и - три матрицы, определенные формулой

Метод Рунге – Кутты называется алгебраически устойчивым [29], если обе матрицы и неотрицательно определены. Достаточным условием B-устойчивости [30] является: и неотрицательно определены.

Вывод метода четвертого порядка Рунге – Кутты [ править ]

В целом метод порядка Рунге – Кутты можно записать как:

где:

является приращение , полученные оценок производных в -й порядке.

Мы разрабатываем вывод [31] для метода четвертого порядка Рунге – Кутты, используя общую формулу с вычисленными, как объяснялось выше, в начальной, средней и конечной точках любого интервала ; таким образом, выбираем:

и в противном случае. Начнем с определения следующих величин:

где и . Если мы определим:

и для предыдущих соотношений мы можем показать, что следующие равенства выполняются до :

где:

является полной производной по времени.

Если теперь выразить общую формулу, используя то, что мы только что вывели, мы получим:

и сравнивая это с рядом Тейлора из вокруг :

получаем систему ограничений на коэффициенты:

который при решении дает, как указано выше.

См. Также [ править ]

  • Метод Эйлера
  • Список методов Рунге – Кутты
  • Численные методы решения обыкновенных дифференциальных уравнений
  • Метод Рунге – Кутта (SDE)
  • Общие линейные методы
  • Интегратор групп Ли

Заметки [ править ]

  1. ^ ДЕВРИС, Пол Л.; ХАСБУН, Хавьер Э. Первый курс вычислительной физики. Второе издание. Jones and Bartlett Publishers: 2011. стр. 215.
  2. ^ Press et al. 2007 , стр. 908; Süli & Mayers 2003 , стр. 328
  3. ^ a b Аткинсон (1989 , стр. 423), Хайрер, Норсетт и Ваннер (1993 , стр. 134), Кау и Калу (2008 , §8.4) и Стоер и Булирш (2002 , стр. 476) не учитывают множитель h в определении этапов. Ашер и Петцольд (1998 , стр. 81), Бутчер (2008 , стр. 93) и Изерлес (1996 , стр. 38) используют значения y в качестве ступеней.
  4. ^ а б Süli & Mayers 2003 , стр. 328
  5. ^ Press et al. 2007 , стр. 907
  6. ^ Iserles 1996 , стр. 38
  7. ^ Iserles 1996 , стр. 39
  8. ^ Iserles 1996 , стр. 39
  9. ^ В качестве контрпримера рассмотрим какойлибо явной 2 этапа схемы Рунге-Кутта сиислучайнымвыбраны. Этот метод является непротиворечивым и (в общем) сходящимся первого порядка. С другой стороны, одноэтапный метод снесовместим и не может сходиться, даже если он тривиально справляется с этим.
  10. ^ Мясник 2008 , стр. 187
  11. ^ Butcher 2008 , стр. 187-196
  12. ^ а б Süli & Mayers 2003 , стр. 352
  13. ^ Hairer, Nørsett & Wanner (1993 , с. 138) относятся к Kutta (1901) .
  14. ^ Сули и Майерсом 2003 , стр. 327
  15. Перейти ↑ Lambert 1991 , p. 278
  16. ^ Dormand, JR; Принц, П. Дж. (Октябрь 1978 г.). «Новые алгоритмы Рунге – Кутты для численного моделирования в динамической астрономии». Небесная механика . 18 (3): 223–232. DOI : 10.1007 / BF01230162 .
  17. ^ Фелберг, E. (октябрь 1974). Классические формулы Рунге – Кутты – Нистрома седьмого, шестого и пятого порядков с пошаговым управлением для общих дифференциальных уравнений второго порядка (Отчет) (НАСА TR R-432 ed.). Центр космических полетов им. Маршалла, штат Алабама: Национальное управление по аэронавтике и исследованию космического пространства.
  18. ^ Сули и Майерсом 2003 , стр. 349-351
  19. ^ Iserles 1996 , стр. 41; Süli & Mayers 2003 , стр. 351–352.
  20. ^ а б Süli & Mayers 2003 , стр. 353
  21. ^ Iserles 1996 , стр. 43-44
  22. ^ Iserles 1996 , стр. 47
  23. ^ Хайрер & Wanner 1996 , стр. 40-41
  24. ^ Hairer & Wanner 1996 , стр. 40
  25. ^ а б Изерлес 1996 , стр. 60
  26. ^ Iserles 1996 , стр. 62-63
  27. ^ Iserles 1996 , стр. 63
  28. ^ Этот результат принадлежит Далквисту (1963) .
  29. Перейти ↑ Lambert 1991 , p. 275
  30. Перейти ↑ Lambert 1991 , p. 274
  31. ^ PDF отчет об этом происхождении

Ссылки [ править ]

  • Рунге, Карл Дэвид Tolmé (1895 г.), "Убер умереть numerische Auflösung фон Differentialgleichungen" , Mathematische Annalen , Springer , 46 (2): 167-178, DOI : 10.1007 / BF01446807.
  • Кутта, Мартин (1901), "Beitrag zur näherungsweisen Integration Totaler Differentialgleichungen", Zeitschrift für Mathematik und Physik , 46 : 435–453.
  • Ascher, Uri M .; Петцольд, Линда Р. (1998), Компьютерные методы для обыкновенных дифференциальных уравнений и дифференциально-алгебраических уравнений , Филадельфия: Общество промышленной и прикладной математики , ISBN 978-0-89871-412-8.
  • Аткинсон, Кендалл А. (1989), Введение в численный анализ (2-е изд.), Нью-Йорк: John Wiley & Sons , ISBN 978-0-471-50023-0.
  • Мясник, Джон С. (май 1963 г.), «Коэффициенты для изучения Рунге-Кутта интеграционных процессов», журнал Австралийской математического общества , 3 (2): 185-201, DOI : 10,1017 / S1446788700027932.
  • Мясник, Джон К. (1975), "Свойство устойчивости неявных методов Рунге-Кутта", БИТ , 15 (4): 358-361, DOI : 10.1007 / bf01931672.
  • Бутчер, Джон К. (2008), Численные методы для обыкновенных дифференциальных уравнений , Нью-Йорк: John Wiley & Sons , ISBN 978-0-470-72335-7.
  • Cellier, F .; Кофман, Э. (2006), Моделирование непрерывных систем , Springer Verlag , ISBN 0-387-26102-8.
  • Далквист, Гермунд (1963), "Особой проблемой устойчивости линейных методов многостадийных", БИТ , 3 : 27-43, DOI : 10.1007 / BF01963532 , ЛВП : 10338.dmlcz / 103497 , ISSN  0006-3835.
  • Форсайт, Джордж Э .; Малькольм, Майкл А .; Молер, Клив Б. (1977), Компьютерные методы математических вычислений , Прентис-Холл (см. главу 6).
  • Хайрер, Эрнст; Норсетт, Сиверт Пол; Ваннер, Герхард (1993), Решение обыкновенных дифференциальных уравнений I: нежесткие задачи , Берлин, Нью-Йорк: Springer-Verlag , ISBN 978-3-540-56670-0.
  • Хайрер, Эрнст; Ваннер, Герхард (1996), Решение обыкновенных дифференциальных уравнений II: Жесткие и дифференциально-алгебраические задачи (2-е изд.), Берлин, Нью-Йорк: Springer-Verlag , ISBN 978-3-540-60452-5.
  • Изерлес, Ари (1996), Первый курс численного анализа дифференциальных уравнений , Cambridge University Press , ISBN 978-0-521-55655-2.
  • Ламберт Дж. Д. (1991), Численные методы для обыкновенных дифференциальных систем. Проблема начальной ценности , John Wiley & Sons , ISBN 0-471-92990-5
  • Кау, Аутар; Калу, Эгву (2008), Численные методы с приложениями (1-е изд.), Autarkaw.com.
  • Press, William H .; Теукольский, Саул А .; Веттерлинг, Уильям Т .; Фланнери, Брайан П. (2007), «Раздел 17.1 Метод Рунге-Кутты» , Численные рецепты: Искусство научных вычислений (3-е изд.), Cambridge University Press , ISBN 978-0-521-88068-8. Также раздел 17.2. Адаптивное управление размером шага по Рунге-Кутте .
  • Стоер, Йозеф; Булирш, Роланд (2002), Введение в численный анализ (3-е изд.), Берлин, Нью-Йорк: Springer-Verlag , ISBN 978-0-387-95452-3.
  • Сули, Эндре; Майерс, Дэвид (2003), Введение в численный анализ , Cambridge University Press , ISBN 0-521-00794-1.
  • Тан, Делин; Чен, Чжэн (2012), «Об одной общей формуле метода Рунге-Кутты четвертого порядка» (PDF) , Журнал математических наук и математического образования , 7 (2): 1–10.
  • справочник по продвинутой дискретной математике (код - mcs033)

Внешние ссылки [ править ]

  • "Метод Рунге-Кутты" , Математическая энциклопедия , EMS Press , 2001 [1994]
  • Метод Рунге – Кутты 4-го порядка
  • Реализация библиотеки компонентов трекера в Matlab - реализует 32 встроенных алгоритма Рунге-Кутта в RungeKStep, 24 встроенных алгоритма Рунге-Кутта-Нистрома в RungeKNystroemSStepи 4 общих алгоритма Рунге-Кутта-Нистрома в RungeKNystroemGStep.