Адаптивный размер шага
Эта статья нуждается в дополнительных цитатах для проверки . ( октябрь 2012 г. ) |
В математике и численном анализе адаптивный размер шага используется в некоторых методах численного решения обыкновенных дифференциальных уравнений (включая частный случай численного интегрирования ) с целью контроля ошибок метода и обеспечения свойств устойчивости , таких как A- стабильность . Использование адаптивного размера шага имеет особое значение, когда размер производной сильно варьируется. Например, при моделировании движения спутника вокруг Земли по стандартной орбите Кеплера метода фиксированного шага по времени, такого как метод Эйлера может быть достаточно . Однако все сложнее, если кто-то хочет смоделировать движение космического корабля, принимая во внимание как Землю, так и Луну, как в задаче трех тел . Там возникают сценарии, в которых можно делать большие шаги по времени, когда космический корабль находится далеко от Земли и Луны, но если космический корабль приближается к столкновению с одним из планетарных тел, тогда необходимы малые шаги по времени. метод Ромберга и Рунге-Кутта-Фельберг являются примерами методов численного интегрирования, в которых используется адаптивный размер шага.
Пример
[ редактировать ]Для простоты в следующем примере используется простейший метод интегрирования — метод Эйлера ; на практике Рунге-Кутты предпочтительны методы более высокого порядка, такие как методы , из-за их превосходных свойств сходимости и стабильности.
Рассмотрим задачу начального значения
где y и f могут обозначать векторы (в этом случае это уравнение представляет собой систему связанных ОДУ с несколькими переменными).
Нам даны функция f ( t , y ) и начальные условия ( a , ya ) , и мы заинтересованы в поиске решения при t = b . Пусть y ( b ) обозначает точное решение в точке b , и пусть y b обозначает решение, которое мы вычисляем. Мы пишем , где – ошибка численного решения.
Для последовательности ( t n ) значений t с t n = a + nh метод Эйлера дает приближения к соответствующим значениям y ( t n ) как
Локальная ошибка усечения этого приближения определяется выражением
и по теореме Тейлора можно показать, что (при условии, что f достаточно гладкое) локальная ошибка усечения пропорциональна квадрату размера шага:
где c — некоторая константа пропорциональности.
Мы отметили это решение и его ошибку значком .
Значение c нам неизвестно. Давайте теперь снова применим метод Эйлера с другим размером шага, чтобы сгенерировать второе приближение к y ( t n +1 ). Мы получаем второе решение, которое обозначим значком . Возьмите новый размер шага равным половине исходного размера шага и примените два шага метода Эйлера. Это второе решение, по-видимому, более точное. Поскольку нам приходится применять метод Эйлера дважды, локальная ошибка (в худшем случае) вдвое превышает исходную ошибку.
Здесь мы предполагаем коэффициент ошибки постоянен на интервале . В действительности скорость его изменения пропорциональна . Вычитание решений дает оценку ошибки:
Эта локальная оценка ошибки имеет точность третьего порядка.
Оценку локальной ошибки можно использовать для определения размера шага. должны быть изменены для достижения желаемой точности. Например, если местная толерантность разрешено, мы могли бы позволить h развиваться следующим образом:
The является фактором безопасности, гарантирующим успех при следующей попытке. Минимум и максимум предназначены для предотвращения резких изменений по сравнению с предыдущим размером шага. В принципе, это должно давать погрешность около в следующей попытке. Если , считаем шаг успешным, а оценку ошибки используем для улучшения решения:
На самом деле это решение имеет третий порядок точности в локальной области (второй порядок в глобальной области), но поскольку для него нет оценки ошибки, это не помогает уменьшить количество шагов. Этот метод называется экстраполяцией Ричардсона .
Начиная с начального размера шага , эта теория облегчает нашу управляемую интеграцию ОДУ с точки к , используя оптимальное количество шагов с учетом локальной толерантности к ошибкам. Недостатком является то, что размер шага может стать непомерно малым, особенно при использовании метода Эйлера низкого порядка .
Подобные методы могут быть разработаны для методов более высокого порядка, таких как метод Рунге – Кутты 4-го порядка. Кроме того, глобальная устойчивость к ошибкам может быть достигнута путем масштабирования локальной ошибки до глобальной области видимости.
Встроенные оценки ошибок
[ редактировать ]Адаптивные методы размера шага, которые используют так называемую «встроенную» оценку ошибки, включают методы Богацкого-Шампина , Рунге-Кутты-Фельберга , Кэша-Карпа и Дормана-Принса . Эти методы считаются более эффективными в вычислительном отношении, но имеют меньшую точность оценок ошибок.
Чтобы проиллюстрировать идеи встроенного метода, рассмотрим следующую схему, которая обновляет :
Следующий шаг прогнозируется на основе предыдущей информации .
Для встроенного метода РК вычисление включает метод RK низшего порядка . Ошибкатогда можно просто записать как
это ненормированная ошибка. Чтобы его нормализовать, мы сравниваем его с заданным пользователем допуском, которыйсостоит из абсолютной толерантности и относительной толерантности:
Затем сравниваем нормализованную ошибку против 1, чтобы получить предсказанное :
Параметр q — порядок, соответствующий методу РК. , который имеет меньший порядок.Приведенная выше формула прогнозирования правдоподобна в том смысле, что она увеличивает шаг, если предполагаемая локальная ошибка меньше, чемтолерантность, и в противном случае он сокращает шаг.
Приведенное выше описание представляет собой упрощенные процедуры, используемые при управлении размером шага для явных решателей RK. Более детальное лечениеможно найти в учебнике Хайрера. [1] Решатель ОДУ во многих языках программирования использует эту процедуру в качестве стратегии по умолчанию для адаптивного управления размером шага, которая добавляет другие инженерные параметры, чтобы сделать систему более стабильной.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Э. Хайрер, С. П. Норсетт Г. Ваннер, «Решение обыкновенных дифференциальных уравнений I: нежесткие проблемы», раздел. II.
Дальнейшее чтение
[ редактировать ]- Уильям Х. Пресс, Сол А. Теукольский, Уильям Т. Веттерлинг, Брайан П. Фланнери, Численные рецепты на языке C , второе издание, CAMBRIDGE UNIVERSITY PRESS, 1992. ISBN 0-521-43108-5
- Кендалл Э. Аткинсон, Численный анализ , второе издание, John Wiley & Sons, 1989. ISBN 0-471-62489-6