ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 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



yk 1

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