Все рассмотренные ранее методы – одношаговые, т.к. для нахождения мы использовали только лишь значения с предыдущего шага. В многошаговых методах для нахождения используется не только лишь одно , но и предыдущие значения.
В k-шаговом методе используются значения с k предыдущих шагов.
Многошаговые методы, как правило, дают лучший результат, чем одношаговые, в силу того, что более устойчивы к вычислительным погрешностям. Многошаговых методов много, самый распространенный среди них – метод Милна.
Формулы метода Милна:
(6.9)
Метод Милна – 4х шаговый (т.к. использует 4 предыдущих значения) и имеет 4-ый порядок точности. Перед применением метода Милна нам надо знать 4y, следовательно, необходимо сделать хотя бы 3 шага каким-нибудь одношаговым методом.
П.7. Оценка погрешности решения ДУ и СДУ методом двойного пересчета. Коррекция решения.
Используя такую же идею, как и в численном интегрировании, находим решение ДУ на [a,b] дважды с шагом h и с шагом h/2. Получим следующую картину:
|
|
Сравниваем попарно, если расхождение между для метода 2го порядка, для метода 4го порядка, то в качестве точного решения берём . Если же точность не достигнута, то шаг h уменьшаем вдвое и т.д., пока она не будет достигнута.
Метод двойного пересчёта при решении ДУ и СДУ практически единственный имеет возможность для оценки погрешностей, так как иные формулы очень сложны и требуют оценок различных производных.
Как и при ЧИ, при решении ДУ и СДУ после 2го пересчёта в качестве точного решения выгодно брать не , а .
- для второго порядка
Метод двойного пересчёта применим не только лишь при ЧИ, при решении ДУ и СДУ, но и при решении других численных методов.
П.7. Краевые задачи для дифференциальных уравнений.
Выше рассматривалось решение ДУ и СДУ с начальными условиями, заданными в одной точке, так называемую задачу Коши, но для ДУ высших порядков часто бывает необходимо решить не з. Коши, а так называемую краевую задачу, т.е. начальные условия, которые заданы в разных точках.
Рассмотрим простейшую краевую задачу для ДУ 2го порядка:
(6.10)
А мы умеем решать:
(6.11),
В (6.11) нам известно , поэтому для решения задачи (6.10) мы будем подбирать в (6.11), с тем, чтобы у(b) = у1