Метод рядов Тейлора.
Разложим точное решение y(x) в ряд Тейлора в окрестности точки , ограничившись 3 слагаемыми. Положим . Получим:
(4)
Напомним, что при численном решении задачи Коши точное решение нам известно лишь в точке . Предположим, что мы нашли приближенное решение в точке . Воспользуемся формулой (4), чтобы получить приближенное решение в точке , для этого, вместо точного значения решения поставим приближенное .
Формула 2 – го порядка точности методом рядов Тейлора примет
вид:
. (5)
Метод рядов Тейлора, как и все последующие рассмотренные нами методы, является одношаговым. Для вычисления нового значения функции нам необходимо знать лишь одно предыдущее значение функции . К недостаткам метода относится получение производных и необходимость расчета значений трех функций , поэтому строятся другие формулы, имеющие ту же точность, но без указанных выше недостатков. Погрешность на отдельном шаге равна , на всем отрезке погрешность составит Метод имеет второй порядок точности
Можно построить формулы более высокого порядка точности, удерживая в разложении в ряд Тейлора большое число слагаемых.
Метод Эйлера.
Формулу Эйлера можно получить, удерживая в формуле рядов Тейлора лишь два слагаемых. Формула имеет вид:
Погрешность на отдельном шаге равна , на всем отрезке погрешность составит . Метод имеет первый порядок точности.
Метод Эйлера иногда называют методом ломанных из-за его геометрического смысла. В точке проводится касательная к интегральной кривой y(x). Новое значение функции определяется как точка пересечения касательной с вертикальной прямой . Вообще говоря, мы попадаем на новую интегральную кривую уравнения (2). Следующая касательная к новой интегральной кривой проводится в точке .
Т.о. интегральная кривая заменяется ломаной линией.
Метод Эйлера можно отнести к методам Рунге–Кутта 1 –го порядка.
При возрастании x погрешность решения может накапливаться.
Методы Рунге-Кутта 2-го порядка.
Метод Эйлера – Коши (или метод типа «предиктор-корректор»).
Метод состоит из двух этапов. Сначала находят по методу Эйлера грубое решение, предиктор:
.
На следующем шаге это грубое решение сглаживается, корректор:
.
Запишем метод в более удобной для расчетов и программирования форме:
На каждом шаге метода вычисляются коэффициенты и значения решения, начиная с точки .
Погрешность на отдельном шаге равна . Тогда на всем отрезке погрешность составит
Модифицированный метод Эйлера.
Расчеты осуществляются по формулам:
Или в другой форме записи:
Как и в предыдущем методе, погрешность на отдельном шаге равна . На всем отрезке погрешность составит
Метод Рунге-Кутта 4-го порядка.
Расчеты осуществляются по формулам:
В данном методе погрешность на отдельном шаге , на всем отрезке погрешность составляет .
Оценка погрешности методов по правилу Рунге.
Для практической оценки погрешности используется правило Рунге. В узле вычисляется приближенное решение с шагом h и h/2. Разность между точным решением и приближенным решением (значение решения в узле с шагом h/2) оценивается выражением:
,
где - значение решения в узле, вычисленное с шагом h, p – порядок метода.
Рассмотрим данные методы на примере. Будем решать задачу Коши для дифференциального уравнения
, . (6)
Найдем решение уравнения (6) на отрезке [0,1] численными методами.
Разобьем отрезок интегрирования на 5 равных частей:
.
Получили 6 узлов, в них будем искать значения решения нашего уравнения.
Точное решение уравнения имеет вид:
Значения точного решения в узлах сетки равны:
Еще раз напомним, что при численном решении задачи Коши, решение получаем в виде таблицы значений решения в узлах.
Решим уравнение методом Эйлера.
Найдем значение решения в узле , для этого подставим в формулу для расчетов начальные условия. Получим:
.
Значение решения в узле :
и на всей сетке узлов соответственно:
Найдем решение уравнения методом Эйлера – Коши.
В узле , с шагом :
Соответственно значения решения на сетке узлов равны:
Теперь сгустим сетку, уменьшим шаг интегрирования вдвое: . Аналогично вычислим значения решения методом Эйлера – Коши на новой сетке. Получим:
Как видим, теперь значение решения в узле x=0,2 мы получили через значение решения в узле x=0,1. Оценим абсолютные погрешности решений (точное решение нам известно) с шагом и на первоначальной сетке узлов. В узле x=0,2,с шагом и соответственно:
Оценим также погрешность решения с шагом в узле x=0,2 по правилу Рунге:
.
Произведем расчеты для метода Эйлера – Коши по всей сетке узлов, данные сведем в таблицу.
-
0
0
1
1
0
1
0
0
1
0,2
1,18322
1,18667
0,00345
1,1841
0,00088
0,00086
2
0,4
1,34164
1,34831
0,00667
1,34336
0,00172
0,00165
3
0,6
1,48324
1,4937
0,01046
1,48526
0,00272
0,00258
4
0,8
1,61245
1,62786
0,01541
1,61647
0,00402
0,0038
5
1
1,73205
1,7542
0,02215
1,73787
0,00582
0,00545
Как видно из таблицы, с уменьшением шага интегрирования, погрешность нахождения решения уменьшается, вместе с тем, с ростом x (к концу отрезка) погрешность может накапливаться. Последние две колонки характеризуют реальную и ожидаемую погрешность решения с шагом .
Решим наше уравнение методом Рунге-Кутта 4-го порядка.
Программно организуем процесс в системе MathCAD.
Получим:
Задание:
Решить задачу Коши для ОДУ 1 –го порядка методом Рунге – Кутта 4-го порядка с точностью . Шаг интегрирования , обеспечивающий требуемую точность, выбирать в процессе вычисления из сравнения результатов, полученных с и (правило Рунге). В случае необходимости шаг должен быть уменьшен. Количество узлов – 6.
Решить ОДУ методом в соответствии с вариантом.
Методы оформить в виде отдельных подпрограмм.
Вывод на консоль: i, узел, значения решения каждым из методов, точное значение, реальная и ожидаемая погрешность (по правилу Рунге).
Проанализировать полученные результаты и сделать выводы.
Варианты методов
Метод рядов Тейлора.
Метод Эйлера.
Модифицированный метод Эйлера.
Метод Эйлера – Коши.
Вариант метода соответствует остатку от деления номера по списку на 4.
Варианты ОДУ.
№ вар. |
ОДУ |
Начальные условия |
Отрезок интегрирования |
Точное решение уравнения |
1 |
|
|
|
|
2 |
|
|
|
|
3 |
|
|
|
|
4 |
|
|
|
|
5 |
|
|
|
|
6 |
|
|
|
|
7 |
|
|
|
|
8 |
|
|
|
|
9 |
|
|
|
|
10 |
|
|
|
|