Выч. мат. Лекции. 6 семестр
.pdfмуле Тейлора:
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