Лекция4
.pdfЛЕКЦИЯ 4 Приближенное решение ОДУ
Приближенное решение ОДУ
Обыкновенные Дифференциальные Уравнения
dy |
f x, y |
y = y(x) – неизвестная функция |
|
x – независимая переменная |
|||
dx |
|||
|
f (x, y) – заданная правая часть |
||
|
|
начальные условия: y(x0) = y0
Задача Коши для ОДУ 1 порядка
Методы решения:
•аналитические (точные)
•приближенные
2
Приближенное решение ОДУ
dy |
f x, y |
y(x0) = y0 |
|
dx |
|||
|
|
Будем искать приближенное решение на отрезке [ x0, xN ] |
||||||||||||||||||||
c шагом h |
xN x0 |
|
в узлах |
xi |
x0 ih, i 0, 1,..., N |
|||||||||||||||
N |
|
|||||||||||||||||||
Цель – построить |
|
|
|
|
|
x0 |
x1 |
|
|
… |
xN |
|
|
|||||||
таблицу |
|
|
|
|
|
|
|
y0 |
y1 |
|
|
… |
yN |
|
|
|||||
dy |
|
|
|
|
y(xi 1 ) y(xi ) |
|
|
yi 1 |
yi |
|
|
«разность вперед» |
||||||||
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|||||||||||||||
dx |
|
x x |
|
h |
|
|
|
|
|
h |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
yii 1 yi |
f (x , y ), |
|
|
i 0,1,..., N 1, |
y y0 |
|||||||||||
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
h |
|
i |
i |
|
|
|
|
|
|
|
|
0 |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Явная схема Эйлера |
3 |
|
Приближенное решение ОДУ
|
dy |
|
y = y0 |
при x = x . |
|
|||
|
|
f x, y |
|
|
0 |
|
|
|
|
dx |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
Явная схема Эйлера: |
yi 1 yi |
f (xi , yi ), |
|
|||||
h |
|
|||||||
|
|
|
|
|
|
|
|
|
y |
y h f (x , y ), |
i 0,1,..., N 1, y |
y0 |
|||||
|
i 1 |
i |
i i |
|
|
0 |
|
|
|
y0 |
известно |
|
|
|
|
|
|
y1 y0 h f (x0 , y0 ), |
|
Таблица |
|
|||||
y2 y1 h f (x1, y1 ), ... |
|
|||||||
приближенного |
|
|||||||
yN yN 1 h f (xN 1, yN 1 ), |
решения построена |
|||||||
|
|
4 |
Приближенное решение ОДУ
|
|
|
|
|
|
yi yi 1 |
|
|
||||||
|
dy |
|
dy |
|
|
|
|
|
|
|||||
|
|
f x, y |
|
|
|
|
|
|
|
|
|
|
Разность |
|
|
|
|
dx |
|
|
|
|
|
h |
«назад» |
|
|||
|
dx |
|
|
x x |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
Неявная схема Эйлера: |
|
|
yi yi 1 |
f (x , y ), |
|
|||||||||
|
|
|
|
|
||||||||||
|
|
h |
i i |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
y h f (x , y ) y |
, i 1,..., N, |
y y0 |
|
|||||||||
|
|
i |
i i |
|
|
|
i 1 |
|
|
|
|
|
0 |
|
y0 известно |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
Чтобы найти y1 |
надо решить нелинейное уравнение |
|
|||||||||||
|
y1 h f (x1, y1 ) y0 , |
Метод имеет более сложную |
|
|||||||||||
|
|
… |
|
|
|
|
|
реализацию |
|
|
||||
|
yN h f (xN , yN ) yN 1, |
Используют для решения |
|
|||||||||||
|
«жестких» систем ОДУ |
5 |
||||||||||||
|
|
|
|
|
|
|
|
|
Приближенное решение ОДУ
ПОРЯДОК ТОЧНОСТИ МЕТОДОВ ЭЙЛЕРА
Определяется главным членом погрешности в
формуле численного дифференцирования
' |
|
h |
|
|
|
|
|
||
f xi fi |
2 |
fi ... |
Погрешность ~ h1 |
|
|
При уменьшении h в два раза погрешность уменьшится тоже в 2 раза
Более точными будут методы, в которых
ошибка ~h2 , т.е. методы второго порядка,
6
Методы решения задачи Коши
Приближенные методы
•Явные
•Неявные
•Одношаговые (м. Эйлера, Рунге-Кутты)
•Многошаговые (Адамса)
Многошаговые методы
•В m-шаговых методах для нахождения решения на слое n+1 необходимы значения на m предыдущих слоях
•Для старта многошагового метода необходимо сделать несколько шагов по одношаговым методам
Приближенное решение ОДУ
Неявный метод второго порядка:
yi1 yi h2 f xi , yi f xi1 , yi1
Метод предиктор–корректор:
~ |
|
h |
f xi , yi |
|
|
|
y yi |
|
|
|
«предсказываем» |
||
2 |
|
|||||
|
|
~ |
«исправляем» |
|||
|
|
|
||||
yi 1 yi h f xi 1 2 , y |
|
|||||
где |
|
xi 1 2 xi h / 2 |
|
8
Приближенное решение ОДУ
МЕТОДЫ РУНГЕ-КУТТЫ
Многоэтапные методы повышенного порядка точности «Этап» - вычисление правой части уравнения
k1 f xi , yi |
k2 f xi 2h, yi 21k1h |
||||
k3 |
f xi 3h, yi |
31k1h 32k2h |
|||
……………………………………………. |
|||||
|
|
|
|
n 1 |
|
kn |
|
|
|
|
|
f xi |
n h, yi njk j h |
||||
|
|
|
n |
j 1 |
|
|
|
yi 1 |
yi h c j k j |
|
|
n, nj, cn, |
|
|
j 1 |
|
|
|
– параметры, которые подбирают так, |
чтобы метод был как можно более точным 9
Приближенное решение ОДУ
ПРИМЕРЫ МЕТОДОВ РУНГЕ-КУТТЫ
Двухэтапный метод (второго порядка точности)
|
i |
f xi |
, yi , |
i |
|
|
|
h |
|
|
h |
i |
|
||
k |
|
k2 |
f xi |
|
, yi |
|
k1 |
|
|||||||
|
2 |
2 |
|||||||||||||
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y |
1 |
y hk i |
, |
i 0,1, 2,... |
|
|
|
||||||
|
|
i |
i |
|
2 |
|
|
|
|
|
|
|
|
|
Трехэтапный метод (третьего порядка точности)
k1= f xi ,yi , k2= f xi+h/ 2,yi+hk1/ 2 , k3 f xi+h,yi-hk1+2hk2
yi 1 yi h6 k1 4k2 k3 , i 0,1, 2,...
Четырехэтапный метод (четвертого порядка точности)
|
k1= f xi ,yi , k2= f xi+h/ 2,yi+hk1 / 2 , |
|
|||
k3 f xx+h/ 2,yi+hk2 / 2 , |
k4 f xi+h,yi+hk3 , |
|
|||
yi 1 |
yi |
h |
k1 2k2 |
2k3 k4 , i 0,1, 2,... |
10 |
|
|
||||
6 |
|
||||
|
|
|
|
|