ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.04.2024
Просмотров: 80
Скачиваний: 0
торая получается, как невязка, если в конечно-разностном уравнении (12.5) подставить вместо yk значение точного решения uk :
k |
|
u k 1 u k |
|
1 |
j f (x j , u j ) |
. |
|
|||
h |
h |
|
||||||||
|
|
|
|
|
j |
|
|
|||
|
|
|
|
|
|
|
|
|
||
Воспользовавшись соотношением (12.4), получаем простое выражение |
||||||||||
для вычисления k (h) : |
|
|
|
|
|
|
|
|
||
|
1 |
|
xk 1 |
|
|
|
|
|
|
|
k (h) |
|
|
f (x, u(x))dx j F j |
, |
(12.6) |
|||||
h |
|
|||||||||
|
|
|
|
xk |
|
|
j |
|
|
которая зависит от шага сетки.
Говорят, что разностная схема (12.5) аппроксимирует исходную дифференциальную задачу с порядком p, если при h 0, k (h) Ch p , C const . Из
(12.6) следует, что порядок аппроксимации на единицу меньше, чем порядок погрешности используемой квадратурной формулы на интервале [xk, xk+1].
Чем больший порядок аппроксимации p, тем выше точность решения:
(h) |
|
y u |
|
max |
|
yk u k |
|
. |
|
|
|||||||
|
|
|
|
k |
|
|
|
|
|
|
|
|
|
|
Основная теорема теории метода сеток утверждает, что если схема
устойчива, то при h 0 |
погрешность решения (h) стремится к нулю с тем же |
|||
порядком, что и погрешность аппроксимации: |
|
|
||
|
|
C0 C h p , |
|
|
|
h C0 max |
k h |
(12.7) |
|
|
k |
|
|
|
где С0 – константа устойчивости.
Неустойчивость обычно проявляется в том, что с уменьшением h решение yk при возрастании k, что легко устанавливается экспериментально с помощью просчета на последовательности сеток с уменьшающимся шагом h, h/2, h/4, … . Если при этом yk , то метод неустойчив. Таким образом, если име-
ется аппроксимация и схема устойчива, то, выбрав достаточно малый шаг h, можно получить решение с заданной точностью. При этом затраты на вычисления резко уменьшаются с увеличением порядка аппроксимации p, т. е. при большем p можно достичь той же точности, используя более крупный шаг h.
12.3. Виды конечно-разностных схем
Большое разнообразие методов обусловлено возможностью по-разному выбирать узлы и квадратурные формулы для аппроксимации интеграла в (12.4) при получении схемы (12.5).
M1. Явная схема первого порядка (Эйлера)
Заменим интеграл в (12.4) по формуле левых прямоугольников:
99
|
|
|
1 |
xk 1 |
|
F |
k |
h |
F k . |
|
|
|
|
|
|
f (x,u(x))dx |
|
|
|||||
|
|
|
h |
h |
|
|
|||||
|
|
|
x |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
k |
|
|
|
|
|
|
|
Получим |
|
|
|
|
|
|
|
|
|
||
|
yk 1 yk |
f (x , yk ), |
k 0, 1, 2, ..., n . |
(12.8) |
|||||||
|
|
|
|||||||||
|
h |
|
|
k |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Задавая y0 u0 , с помощью (12.8) легко получить все последующие значения yk , k 1, 2, ..., n1 , т. к. формула явно разрешается относительно yk 1.
Погрешность аппроксимации (h) и соответственно точность (h) имеют первый порядок в силу того, что формула левых прямоугольников на интервалеxx , xk 1 имеет погрешность второго порядка, а схема устойчива.
Алгоритм представлен на рис. 12.1.
Рис. 12.1
Рассмотрим пример решения задачи Коши явным методом Эйлера. Задача Коши имеет вид:
100
y y2 х, y(1) 0
на отрезке x [1,3] с шагом по сетке h 0.2 .
Из постановки задачи видно, что f (x, y) y y2 х , а из формулы (12.8)
следует, что
yk 1 yk h f (x, y) .
Зная, что y(1) 0, x0 1, получаем первое значение: y1 y0 h f (x0 , y0 ) 0 0.2 (( y0 )2 x0 ) 0.2.
Далее продолжаем процесс рассчета по формулам
x1 1.2, y1 0.2 y2 y1 h f (x1, y1) 0.2 0.2 (( y1)2 x1) 0.432; x2 1.4, y2 0.432 y3 y2 h f (x2 , y2 )
0.432 0.2 (( y2 )2 x2 ) 0.6746752;
...
x10 2.8, y10 1.56185 y11 y10 h f (x10 , y10 )
1.56185 0.2 (( y10 )2 x10 ) 1.634; |
|
|||
x11 3, y11 1.634. |
|
|
|
|
М2. Неявная схема 1-го порядка |
|
|
||
Используя в (12.5) формулу правых прямоугольников, получим |
|
|||
|
yk 1 yk |
f (x |
, yk 1). |
(12.9) |
|
|
|||
|
h |
k 1 |
|
|
|
|
|
|
Эта схема неразрешима явно относительно yk 1, поэтому для получения требуется использовать итерационную процедуру решения уравнения
(12.9) (см. метод простой итерации в подразд. 9.2):
yk 1,s yk f (xk 1, yk 1,s 1),
где s 1, 2, 3, ... – номер итерации.
За начальное приближение берется значение yk 1, 0 yk c предыдущего шага. Обычно, если значение h выбрано удачно, достаточно сделать 2–3 итера-
ции для достижения заданной погрешности |
|
|
. Эффектив- |
|
|
yk 1, s yk 1, s 1 |
|
ность неявной схемы заключается в том, что у нее константа устойчивости С0 значительно меньше, чем у явной схемы.
M3. Неявная схема второго порядка
Используя в (12.5) формулу трапеций, получим
yk 1 yk |
f (x, yk ) f (x |
, yk 1) |
|
|
|
|
|
k 1 |
|
. |
(12.10) |
|
|
|
|||
h |
2 |
|
|
|
101
Т. к. формула трапеций имеет третий порядок точности на интервалеxx , xk 1 , то погрешность аппроксимации (h) – второй.
Схема (12.10) не разрешена относительно yk 1, поэтому требуется итерационная процедура (см. схему М2):
yk 1, s yk |
h |
( f (x , |
yk ) f (x |
|
, yk 1, s 1), |
s 1, 2, ..., |
yk 1, 0 |
yk . |
|
k 1 |
|||||||
2 |
k |
|
|
|
|
|
||
|
|
|
|
|
|
|
Алгоритм представлен на рис. 12.2.
Рис. 12.2
Рассмотрим пример решения задачи Коши неявным методом Эйлера второго порядка (с пересчетом).
Задача Коши имеет вид:
102
|
y y2 х, |
y(1) 0 |
||
на отрезке x [1, 3] с шагом по сетке h 0.2 . |
||||
Из постановки задачи |
видно, что |
f (x, y) y y2 х , а из формулы |
||
(12.10) следует, что для начала необходимо рассчитать прогноз |
||||
|
yi 1 yi h f (xi , yi ) |
|||
а затем произвести коррекцию: |
|
|
||
y |
y h f (xi , yi ) f (xi 1, yi 1) . |
|||
i 1 |
i |
|
2 |
|
|
|
|
|
Рассчитаем значение по схеме для первой точки отрезка по х:
x0 1, y0 0; y1 |
y0 |
h f (x0 , y0 ) 0 0.2 (0 0 1) 0.2; |
|
|
|||||||||||||
|
|
|
|
|
|
f (x , y ) f (x , y ) |
|
|
|
(0 0 1) (( 0.2)2 |
1.2) |
|
|||||
y |
|
y |
h |
|
|
|
0 |
0 |
1 1 |
|
0 0.2 |
|
|
|
0.216; |
||
|
|
|
|
|
|
|
|
|
|
||||||||
1 |
0 |
|
|
|
|
|
|
|
2 |
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
x1 1.2, y1 0.216; |
|
|
|
|
|
|
|
|
|||||||||
y |
2 |
y |
h f (x , y ) 0.216 0.2 (( 0.216)2 1.2) 0.44667; |
|
|||||||||||||
|
1 |
|
|
1 |
1 |
|
|
|
|
|
|
|
|
||||
y |
2 |
y h |
f (x1, y1) f (x2 , y2 ) |
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|||||||||||
|
1 |
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.216 0.2 |
(( 0.216)2 1.2) (( 0.44667)2 1.4) |
0.452; |
|
||||||||||||
|
|
|
|
2 |
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Продолжая, мы приходим к значению в последней точке |
|
|
|||||||||||||||
|
x10 2.8, y10 1,54075; |
|
|
|
|
|
|
|
|||||||||
|
y y |
h f (x |
, y ) 1,54075 0.2 (( 1,54075)2 2.8) 1,62597; |
||||||||||||||
|
|
11 |
10 |
|
|
|
|
|
10 |
10 |
|
|
|
|
|
|
|
|
y y |
h |
f (x10 , y10 ) f (x11, y11) |
|
|
|
|
|
|||||||||
|
|
|
|
|
|
||||||||||||
|
|
11 |
10 |
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1,54075 0.2 (( 1,54075)2 2.8) (( 1,62597)2 3) 1.61898. 2
Легко заметить, что данные результаты схожи с результатами, полученными с помощью явного метода Эйлера по схеме М1.
M4. Схема предиктор – корректор (Рунге – Кутта) второго порядка
Используя в (12.5) формулу средних, получим |
|
|
|||
|
yk 1 yk |
f (x |
, yk 1/ 2 ) . |
(12.11) |
|
|
|
||||
|
h |
k 1/ 2 |
|
|
|
|
|
|
|
|
|
Уравнение разрешено явно относительно yk 1, однако в правой части |
|||||
присутствует неизвестное значение yk 1/ 2 |
в середине отрезка [x , |
x |
]. Для |
||
|
|
|
k |
k 1 |
|
решения этого уравнения существует следующий способ. Вначале по явной схеме (12.8) рассчитывают yk 1/ 2 (предиктор):
103