Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Выч. мат. Лекции. 6 семестр

.pdf
Скачиваний:
12
Добавлен:
22.05.2015
Размер:
303.75 Кб
Скачать
â ýòèõ

муле Тейлора:

u

u

1

un + un +

1

2u•n + O( 3) un = un

 

1

 

n+1

n

=

 

 

 

+

 

 

u•n + O( 2):

 

 

 

2

2

Величина f(tn + ; un + f(tn; un)) =

=f(tn + ; un + un) = f(tn; un) + [ft0(tn; un) + fn0 (tn; un) un] + O( 2) =

=f(tn; un) + dtd f(tn; un) + O( 2) = f(tn; un) + u•n + O( 2):

Тогда

 

 

= (1

 

)f(t

 

; u ) + f(t ; u ) + u•

u

1

u• + O( 2) = f(t ; u ) +

 

 

 

2

 

n

 

 

 

n

n

n

n

n

n

n

n

n

+ 2 u•n

un + O( 2) = 2 u•n

+ O( 2):

 

 

 

 

 

 

1

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

Мы видим, что при =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 порядок аппроксимации разностной схемы равен 2.

Рассмотрим частные случаи.

 

 

 

 

 

 

 

 

 

1. = 1; = 1=2: u~n = un

+ 1 f(tn; un): Часто этот этап называют ¾предиктор¿:

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

предсказание значения f(t; u) на отрезке [tn; tn+1]: f(t; u) f(tn + 21 ; u~n);

un+1 =

= un + f(tn +

; u~). Значение un+1 вычисляется с этим, исправленным значением

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

f(t; u).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. = 1=2;

 

= 1: u~n = un + f(tn; un) значение u~n вычисляется по явной схе-

ме Эйлера. На втором этапе значение f(t; u) на отрезке [tn; tn+1] берется равным полусумме 12 [f(tn; un) + f(tn+1; u~n)]:

1

un+1 = un + 2 [f(tn; un) + f(tn+1; u~n)]:

Многоэтапные методы повышения порядка аппроксимации получают, строя последовательно точки ti;n 2 [tn; tn+1]; i = 1; 2; : : : ; k и вычисляя значения fi точках:

f1 = f(tn; un)

f2 = f(tn + 2 ; un + 2;1f1)

f3 = f(tn + 3 ; un + ( 3;1f1 + 3;2f2))

: : :

fk = f(tn + k ; un + ( k;1f1 + k;2f2 + : : : k;k 1fk 1)):

20

Далее значение f(t; u) на отрезке [tn; tn+1] вычисляется как линейная комбинация значений fi с весами pi:

un+1 = un + (p1f1 + + pkfk):

k

ßñíî, ÷òî P pi должна быть равна 1.

i=1

Значения коэффициентов i; i;j; i + 1; : : : ; k и веса выбираются из условия наибольшего порядка аппроксимации на отрезке [tn; tn+1]. Такие методы построения разностных схем называютя методами Рунге-Кутты.

Для метода Рунге-Кутты второго порядка (2-х этапный метод):

f1 = f(tn; un); f2 = f(tn + 2 ; un + 2 f1); p1 = 1 ; 2 = 1=2; un+1 = un + (p1f1 + p2f2); u 2 C2; n = O( 2):

Для метода Рунге-Кутты третьего порядка:

f1 = f(tn; un); f2 = f(tn + =2; un + =2f1); ( 2 = 1=2; 2;1 = 1=2); f3 = f(tn + ; un f1 + 2 f2); ( 3 = 1; 3;1 = 1; 3;2 = 2):

Разностная схема (p1 = 1=6; p2 = 2=3; p3 = 1=6)

un+1 = un + (16f1 + 23f2 + 16f3); u 2 C3:

Порядок аппроксимации равен 3.

Для метода Рунге-Кутты четвертого порядка наиболее употребительны две схемы:

2 = 1=2; 2;1 = 1=2;3 = 1=2; 3;1 = 1=2;

4 = 1; 4;1 = 1; p1 = 1=6; p2 = 1=3; p3 = 1=3; p4 = 1=6; un+1 = un + (16f1 + 13f2 + 13f3 + 16f4); u 2 C4;

и схема (схема Гилла):

2 = 1=2; 2;1 = 1=2;

21

 

 

 

 

 

 

= 1=2(p

 

 

 

 

 

 

 

 

 

=

p

 

 

1

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

= 1=2;

2

1);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

3;1

 

 

 

 

 

 

 

 

 

 

 

3;2

 

 

 

 

p2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

1

 

 

4 = 1; 4;1 = 0; 4;2 = p

 

 

; 4; 3 = 1 + p

 

;

2

2

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

p1 = 1=6; p2 = 1=3(1 p

 

 

); p3

= 1=3(1 + p

 

); p4

= 1=6;

2

2

 

 

1

 

1

1

 

 

 

 

 

 

1

 

1

1

 

 

 

un+1 = un + (

 

f1 +

 

(1

p

 

)f2 +

 

 

(1 + p

 

)f3 +

 

f4); u 2 C4:

6

3

3

6

2

2

Эти разностные схемы имеют четвертый порядок аппроксимации.

8.2Многошаговые методы (методы Адамса)

В одношаговых методах для уравнения

 

 

 

 

 

du

= f(t; u (t))

 

 

 

 

 

 

 

 

 

 

 

 

dt

 

 

получаем un

+1 un

tn+1

f(t; u (t)) dt, и для построения разностной схемы привле-

tn

каются значения

 

R

f(t; u(t))

 

 

ti 2 [tn; tn+1]:

 

 

 

функции

в точках

В многошаговых методах

 

 

 

 

 

 

 

значения интеграла строится в виде квадратурной формулы на основе интерполяционного полинома для функции f(t; u(t)) в m узлах: tn m+2; tn m+3; : : : ; tn 1; tn; tn+1:

Квадратурная формула имеет вид:

tn+1

m 1

Z

 

f(t; un(t)) dt k=0 ckf(tn+1 k)u(tn+1 k):

tn

 

X

В интеграле положим t = tn + и обозначим F ( ) = f(tn + ; u(tn + ))

Z m 1

X

F ( ) d ckF (1 k):

0k=0

Коэффициенты c0; c1; : : : ; cm 1 определим из условия, чтобы эта квадратурная формула была точна для полиномов степени m.

Пример. m = 2:

22

Äëÿ F ( ) = 1 : = (c0 + c1 + c2).

 

 

 

 

 

 

 

 

 

Äëÿ F ( ) = :

1

2 = (c0 c2 ):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

Äëÿ F ( ) = 2 :

 

1

3 = (c0 2 + c2 2):

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

3

 

; c2 =

1

 

 

 

 

 

 

 

 

 

c0 =

 

; c1

=

 

 

 

:

 

 

 

 

 

 

12

4

12

 

 

В итоге получаем разностную схему

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

3

 

 

1

 

un+1 = un + [

 

f(tn+1; un+1) +

 

 

f(tn; un)

 

f(tn 1; un 1)]:

12

4

12

Если значения un 1; un уже найдены, получаем для un+1 неявную разностную схе- му Адамса. Для вычисления значения un+1 следует решить нелинейное уравнение:

5

un+1 = 12 f(tn+1; un+1) + [известное значение]:

Явную разностную схему Адамса получим, положив c0 = 0. В этом случае квадратурная формула должна быть точна для полиномов первой степени:

8

 

 

 

 

8

 

 

 

 

<

c1 + c2 = 1;

c1 = 3=2;

 

 

c2 = 1=2;

<c2 =

 

1=2:

 

:

 

 

 

:

 

 

 

и явная разностная схема Адамса имеет вид:

 

 

 

 

 

 

3

f(tn; un)

1

 

 

 

un+1 = un + [

 

 

f(tn 1

; un 1)]:

2

2

Для начала счета по методу Адамса необходимо знать значения и впервых точках. Эти значения получают, применяя методы Рунге-Кутты.

8.3Апостериорная оценка погрешности разностной схемы на шаге (правило Рунге)

Как и метод апостериорной оценки погрешности квадратурных формул, этот метод основан на возможности проведения расчетов с дроблением шага.

23

На отрезке [ti; ti + ] согласно разностной схеме вычисляется значение ui+1, исходя из значения ui. Вычисленное значение обозначим u(1)i+1.

Далее на отрезке [ti; ti + 12 ] вычисляется ui+ 12 , а затем на отрезке [ti + 12 ; ti +

+ ] вычисляется значение ui+1, исходя из найденного значения ui+ 12 . Значение ui+1 обозначим u(2)i+1.

Метод Рунге позволяет оценить погрешность разностной схемы на шаге [ti; ti + ], зная значения u(1)i+1 è u(2)i+1 (при некоторых предположениях). Прежде всего будем предполагать, что точные решения дифференциальных задач имеют непрерывные производные до порядка (s + 1), и что порядок аппроксимации разностной схемы

равен s.

Согласно определению

(

 

) =

L u ; t

ui+1 ui

=

C s

+

o

s

)

 

(

i i)

 

 

 

(

 

ãäå L(ui; ti) определяет разностную схему:

 

 

 

 

 

 

 

 

 

 

 

 

ui+1 = ui + L(ui; ti):

 

 

 

 

Тогда

ui+1 ui

 

 

ui+1 ui

 

 

 

 

 

 

= L(u ; ti) =

 

+ ( )

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

èui+1 ui = ui+1 ui = C s + o( s), ò. å.

ui(1)+1 ui+1 = C s + o( s):

(1)

Возьмем шаг равный

[ti; ti +

] согласно (1)

 

2 . Тогда на отрезке

2

 

 

ui+ 12 u (ti + 12 ) = C 2 s + o( s);

а на отрезке [ti+ 12 ; ti] получим согласно разностной схеме

ui+1 = ui+ 12 + 2 L(ui+ 12 ; ti+ 12 )

èэто значение обозначим u(2)i+1.

Оценим разность u(2)i+1 u (ti + ). Для этого обозначим через v (t) точное решение

24

задачи Коши

8dt

= f(t; v);

 

ïðè t

 

(ti + 1 ; ti + ):

 

 

>

dv

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

v(ti +

) = u

1

 

 

 

2

 

 

 

 

 

 

 

 

 

 

<

 

 

 

 

 

 

 

 

 

i+ 2

 

 

 

 

 

 

 

 

 

(2)

 

>

 

 

2

 

s

 

 

 

 

 

 

 

 

 

 

 

:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тогда ui+1

v (ti + ) = C

 

 

+ o( s+1):

 

 

 

 

 

 

2

 

 

 

 

 

 

Для точного решения u (t) на отрезке [ti+ 1 ; ti+1]

 

 

 

8 dt = f(t; u);

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t > ti + :

 

 

 

 

 

du

) = u (ti + 1 );

2

 

 

 

 

>u(ti + 1

 

 

 

<

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

2

 

 

 

 

 

 

 

 

:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Разность z(t) = u (t) + v (t) удовлетворяет уравнению

 

 

dz

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= f(t; u ) + f(t; v ) ïðè t > ti +

 

 

 

 

 

dt

2

 

 

1

 

 

 

 

1

 

 

 

 

 

s+1

 

 

и условию z(t = ti +

 

) = u (ti

+

 

) u(ti+ 21 ) = C

 

 

 

+ o( s+1):

2

2

2

 

Из устойчивости решения этой задачи следует, что

 

 

 

 

 

 

 

 

1

 

 

 

 

s+1

 

 

 

z(t) = z(ti +

 

) + o( s+1) = C

 

 

 

 

+ o( s+1):

2

2

 

 

Таким образом

u(2)i+1 u (ti + ) = u(2)i+1 v (ti + ) + v (ti + ) u (ti + ) = = C( 2 )s+1 + o( s+1) + C( 2 )s+1 + o( s+1) = 2C( 2 )s+1 + o( s+1):

Èç (1) è

 

 

(2)

 

u (ti + ) = 2C(

 

 

 

 

ui+1

 

)s+1 + o( s+1)

(2)

 

 

2

с точностью до величин порядка o( s+1) равенство

 

 

 

 

 

u(1)

u(2)

C s+1 2s 1

 

 

 

 

 

i+1

i+1

 

 

 

2s

 

 

и значение

C

ui(1)+1 ui(2)+1

 

2s

 

 

 

 

 

 

 

 

 

s+1

2s 1

:

 

 

 

 

 

 

 

25

Теперь из(2) получаем оценку

 

(2)

 

ui(2)+1 ui(1)+1

u

(ti + ) ui+1

 

2s 1

и приближенное значение

 

(2)

 

ui(2)+1 ui(1)+1

 

u

(ti + ) ui+1

+

2s 1

:

8.4Системы линейных дифференциальных уравнений первого порядка

Задачу Коши для системы линейных уравнений будем записывать в виде:

8du

< dt + Au(t) = f(t); t 2 [0; T ]; :ujt=0 = ';

где u; f вектор-функции: u = u(t) = (u1(t); u2(t); : : : ; uN (t)); f(t) = (f1(t); f2(t); : : : ; fN (t)),

A постоянная матрица размерности N N, A = faijgNi;j=1. Таким образом задача в координатной форме имеет вид:

8 dti + j=1 aij(t)uj(t) = fi(t);

du

N

>

P

<

>

:ui(t = 0) = 'i; i = 1; : : : ; N:

Единственность решения задачи Коши. Обозначим z(t) разность двух решений за-

äà÷è Êîøè:

 

 

dz

 

 

 

 

 

 

 

 

 

 

 

+ Az = 0; z(0) = 0:

 

 

 

 

 

 

 

 

 

dt

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Умножая правую и левую часть скалярно на z(t), учитывая, что (z; dz ) = 1

d

 

(z; z) =

 

 

 

 

 

 

 

 

dt

2 dt

 

= 21

d

jjzjj2, после интегрирования по t от 0 до t получим:

 

 

 

 

dt

 

 

 

 

 

 

 

2(jjz(t)jj2 jjz(0)jj2) + Z0

t

 

 

 

 

 

 

 

(Az; z) d = 0;

 

 

 

 

 

1

 

 

 

 

 

 

 

 

26

и с учетом, что z(0) = 0:

 

jjz(t)jj2 + 2 Z0

t

 

(Az; z) d = 0:

N

N

N

 

Åñëè (Az; z) =

zi( ) aijzj( ) =

aijzi( )zj( ) > 0 ïðè âñåõ , òî z(t) = 0, ò. å.

i=1

j=1

i;j=1

 

Коши единственно.

P

 

решение задачиP

P

 

Матрица A, для которой (Az; z) > 0 для всех векторов z, называется положитель-

 

 

 

N

 

 

 

 

ной. Величина

aijzizj совпадает со значением для симметризованной матрицы,

 

 

 

i;j=1

 

 

 

положительна.

и если ее собственные числа положительны, то исходная матрица

A

 

 

 

P

 

 

 

Пусть собственные числа исходной симметричной матрицы A системы положи-

тельны:

0 < 1 6 2 6 6 N ;

 

 

 

 

 

 

 

à

 

 

 

 

 

 

 

1

; 2

; : : : ; N ее собственные векторы:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A i = i i;

jj ijj2 = 1:

 

 

Решение задачи Коши устойчиво по начальным данным. Действительно, будем искать решение задачи в виде:

 

 

 

 

 

N

 

 

 

 

 

Xk

 

 

 

u(t) =

 

 

 

 

 

 

k(t) k:

 

 

 

 

 

=1

Подставляя в систему, получим:

 

 

 

X

d

k(t) k + X k k(t) k

 

d

 

 

= 0;

 

k(t) = k k(t); k(t) = k(0)e kt:

dt

dt

kk

Ïðè t = 0: Pk

k(0) k = ';

величина k(0) = ('; k);

Pk

k2(0) = jj'jj2.

Решение задачи Коши

 

 

u(t) = Xk

 

 

 

 

 

 

 

 

 

 

P

 

 

('; k)e kt k:

 

 

 

ßñíî, ÷òî

u(t) 2 =

2

(0)e 2 k(t)

e 2 1t

' 2

;

u(t)

 

e 1t '

; è ìû ïîëó-

чаем оценку,

 

jj2

 

 

6

 

jj

jj2

jj

 

jj2 6

jj

jj2

jj

 

k

k

 

 

 

характеризующую устойчивость решения задачи Коши по начальным

27

данным в метрике jj jj2 векторного пространства VN .

8.5Разностные схемы. Каноническая форма разностных схем

1.Разностная схема Эйлера:

un+1 un + Aun = fn; un = u(tn); tn = n ; u0 = '

явная разностная схема Эйлера.

2.Разностная схема с весами

un+1 un + A( un+1 + (1 )un) = fn:

Представим un+1 + (1 )un = un+1 un + un è A( un+1 + (1 )un) =

= Aun+1 un + Aun.

Схема с весами

(E + A)un+1 un + Aun = fn:

Обозначим матрицу E + A = B.

В общем случае разностную схему будем записывать в виде

B un+1 un + Aun = Fn:

Эта форма разностной схемы называется канонической формой.

8.6Порядок аппроксимации разностной схемы

Пусть u (t) точное решение задачи Коши:

du (t) + Au (t) = f; u (t = 0) = ': dt

Значения u ( n) будем обозначать un. Согласно общему определению порядка ап-

28

проксимации разностной схемы

B un+1 un + Aun = Fn

образуем сеточную функцию n:

n =

F

Au

 

B

un+1 un

:

n

n

 

 

 

Будем предполагать, что функция u (t) имеет непрерывную вторую производную:

u 2 C2[0; T ]:

Наша задача оценить n( ), не уточняя заранее метрику векторного пространства.

В этом параграфе мы будем рассматривать только значения сеточной функции u (t), и, чтобы не отягощать обозначений, будем обозначать эти значения un.

По формуле Тейлора:

 

 

 

 

 

 

2

 

 

 

 

 

 

 

un+1

= (u +

 

 

u +

 

 

u•)n+1=2 + o( 2);

 

 

 

 

 

 

 

 

 

 

 

 

2

 

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

un = (u

 

u +

 

u•)n+1=2 + o( 2);

 

 

2

8

 

un+1 un

= u

 

 

+ o( ) è Au

 

 

= A(u

 

 

u)

 

+ O( 2):

 

 

 

 

 

 

 

 

n+1=2

 

 

 

 

 

 

 

 

n

 

2

n+1=2

 

Вектор

n:

B un+1 un + Aun = Fn [Bu + Au 2 Au]n+1=2 + O( 2) =

n

= Fn

 

 

 

 

 

 

= Fn fn+1=2 +[(E B + 2 A)u]n+1=2 +(f Au u)n+1=2 = f ò. ê. (f Au u)n+1=2 = 0g = Fn fn+1=2 + [(E B + 2 A)u]n+1=2 + O( 2):

По неравенству треугольника

jj

njj 6 jjFn fn+1=2jj + jj(E B +

 

A)ujj + O( 2) (здесь могут быть любые нормы):

 

2

 

 

 

 

 

 

Таким образом, если jjFn fn+1=2jj

= O( 2) è jjE B+

 

Ajj = O( 2), òî jj njj = O( ),

 

2

29