- •Основные понятия и определения
- •Метод эйлера
- •Ошибка метода Эйлера
- •Метод Хьюна
- •Методы Рунге-КуттЫ.
- •Явные одношаговые методы численного решения обыкновенных дифференциальных уравнений с автоматическим выбором шага интегрирования
- •Метод рунге-кутта четвертого порядка точности с автоматическим контролем шага
- •Метод рунге-кутта-мерсона с контролем шага
- •Метод фельдберга с контролем шага
- •Метод ингленда с контролем шага
- •Многошаговые методы численного интегрирования дифференциальных уравнений
- •Методы Адамса-Башфорта
- •Методы Адамса-Моултона
- •Методы прогноза-коррекции
Методы Рунге-КуттЫ.
Методы Тейлора обладают глобальной ошибкой , и может быть выбрано настолько большим, насколько малой необходимо получить эту ошибку. Тем не менее, у методов Тейлора есть очевидные недостатки. Это необходимость задавать заранее и необходимость вычисления производных высших порядков, что может быть очень сложной задачей. Любой метод Рунге-Кутты получается из метода Тейлора соответствующего порядка. Необходимость вычисления производных высших порядков заменяется многократным пересчетом функции. Эти методы могут быть получены для любого порядка . Метод Рунге-Кутты 4-го порядка является наиболее популярным. Это хороший выбор для многих целей, т. к. обладает высокой точностью, стабильностью и легкостью в программировании. Методы Рунге-Кутты более высоких порядков применяются редко, так как рост вычислительных затрат перекрывает полученный прирост точности. Если необходима большая точность, следует уменьшить шаг, либо использовать более адаптивный метод.
Результирующие формулы:
|
|
Явные одношаговые методы численного решения обыкновенных дифференциальных уравнений с автоматическим выбором шага интегрирования
Данная группа методов является модификацией предыдущих методов численного интегрирования с целью сокращения временных затрат на вычислительный процесс. Это достигается коррекцией величины шага интегрирования в зависимости от текущего значения погрешности р, которая оценивается по конкретному выражению для каждого метода.
Исходные данные при этом аналогичны предыдущим методам, к которым добавляется задаваемая точность ε поиска решения дифференциального уравнения.
Алгоритм выбора величины шага интегрирования включает следующие операции, которые реализуются при вычислении каждого значения функции на шаге интегрирования:
Пусть рi+1 оценка локальной погрешности метода на шаге h , допущенной при вычислении приближенного значения решения в точке xi+h. Если оценка превосходит некоторую наперед заданную границу ε :
|pi+1|> ε, |
то считается, что значение решения не удовлетворяет предписанной точности, и шаг h объявляется неприемлемым. Полученная точка xi+h и значение уhi+1 исключаются из рассмотрения. Выбирается новое значение шага
|
и вновь по той же формуле Рунге-Кутта с шагом h(1) вычисляется новое значение решения уh(1)i+1 в новой точке хi+h(1).
Пусть p(1)i+1 - оценка локальной погрешности метода на данном шаге h(1). Если оценка опять превосходит заданную границу ε :
|p(1)i+1|> ε, |
то точка хi+ h(1) и значение yh(1)i+1 опять исключаются из рассмотрения, шаг снова делится пополам:
|
и вычисления повторяются. Так происходит до тех пор, пока при какой-то величине шага (обозначим ее через h(n)) оценка локальной погрешности не станет меньше ε :
|p(n)i+1| ε. |
После этого считается, что решение дифференциального уравнения продолжено до точки xi+1 = хi + h(n). Дальнейшее интегрирование уравнения производится из точки хi+1 с шагом h(n+1), который выбирается описанным ниже способом.
Если оценка локальной погрешности на шаге h(n) = хi+1 – хi удовлетворяет неравенству
|
где К - некоторая константа, то считается, что достигнута точность, превышающая заданную, и шаг интегрирования удваивается:
h(n+1) = 2h(n). |
Если выполняется неравенство
, |
то считается, что полученное в точке хi+1 решение удовлетворяет заданной точности и шаг интегрирования остается без изменения
h(n+1) = h(n). |
Таким образом, на тех участках изменения независимой переменной, где достигается высокая точность приближенного решения, шаг интегрирования возрастает, а там, где точность не достигается, шаг интегрирования сокращается до необходимых для ее достижения значений. Тем самым обеспечивается выбор величины шага в зависимости от характера поведения решения дифференциального уравнения. Константа К обычно полагается равной 2s+1 , где s – порядок точности метода.1
Остановимся более подробно на конкретных методах с автоматическим шагом интегрирования.