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

Численные методы. Лекции. Часть 2

.pdf
Скачиваний:
94
Добавлен:
16.04.2015
Размер:
671.96 Кб
Скачать

смотрим в качестве примера линейную систему вида:

 

 

dy(x)

 

= Ay(x), x 0,

y(0) = y0,

ε > 0

(24.21)

 

dx

 

 

1

 

 

 

 

A =

0

 

 

 

(24.22)

ε1

 

 

 

 

 

 

 

ξ

 

 

 

 

 

 

 

 

 

 

 

ε

 

 

 

 

где ξ постоянная умеренной величины, например

|ξ| < 1, а ε

близка к нулю. Точное решение для этой системы имеет вид:

y(x) = eξx

 

1

eξx − e

1 x

y0, x 0.

 

 

 

ε

 

 

1+ξε

(24.23)

 

 

0

 

 

 

eε x

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

ε ма-

Переходная компонента решения имеет вид eε x . Так как

ло, то переходная компонента через очень небольшой промежуток времени становится пренебрежимо малой. После этой переходной фазы решение полностью определяется уже гладкой компонентой eξx. На этом этапе задачи возникает проблема вычисления непе-

реходного решения при подавлении переходного. Именно на этом этапе задачу называют жесткой.

Сравнивая приближенные решения методами Эйлера (явным и

неявным) в момент времени

x = xn+1 = xn + h задачи (24.22)

с точным решением при x = xn+1 = xn + h , имеем:

 

y(xn+1) = eξh

1

 

 

 

 

 

 

 

1 h

y(xn),

 

 

 

 

eξh − e

ε

 

 

 

1+ξε

(24.24)

0

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

eε h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приближение по явной схеме

 

 

 

 

 

 

 

 

 

 

 

 

yn+1 =

1 +

 

 

h

 

 

 

 

(24.25)

 

 

ε

 

yn,

 

 

 

 

 

 

 

 

 

 

0

 

 

 

1 hε

 

 

 

 

 

 

 

 

 

 

Вычисления по неявной схеме Эйлера

 

 

 

 

 

 

 

 

1

 

 

 

 

 

h

 

 

 

yn,

 

 

 

 

 

 

 

 

ε

 

 

 

 

1

 

(1

 

)(1+

h

)

 

 

yn+1 =

ε

 

(24.26)

 

 

1

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1+ hε

 

 

 

 

 

121

На непереходном участке решения ,где hε >> 0 и h должно выбираться исходя из требования достаточно точной аппроксимации

e.

Здесь:

 

h , даже когда допускается бес-

Неявный метод устойчив для всех

конечная жесткость ( ε → 0 ).

ε

 

 

 

h

 

Явный метод Эйлера не подходит вследствии того, что для

ε

>>

0 переходную компоненту

−h

аппроксимировать выражением

e ε

1 hε

не удается.

 

 

 

 

Таким образом, жесткость – свойство математической задачи.

 

§25. Жесткость нелинейных систем

При интегрировании системы обыкновенных дифференциальных уравнений первого порядка (в общем случае нелинейных):

dy(x)

= f (x, y(x)), y(0) = y0,

(25.1)

dx

 

 

для определения , является ли данная задача Коши жесткой, необходимо исследовать поведение решений (25.1) в окрестности частного решения z(x). В этой окрестности уравнение (25.1) можно аппроксимировать линеаризованными уравнениями

dy(x)

− J(x){y(x) − z(x)} − f (x, z(x)) = 0,

(25.2)

dx

где J(x) – матрица Якоби, составленная из вычисленных в точке (x, z(x)) частных производных ∂f∂y . Если изменение J(x) на некотором интервале x достаточно мало , то локальные фундаментальные решения (25.2) приближенно равны eλi x, где λi = λi(x) – локальные собственные значения матрицы Якоби J(x) (которые предполагаются различными).

Таким образом, решение y(x) уравнения (25.1) в окрестности точного решения z(x) представляется в виде

 

 

 

n

 

 

 

y(x) ≈ z(x) +

i

(25.3)

 

 

cieλi xξi

 

 

 

=1

 

где

ci

– постоянные, а ξi

– собственные векторы матри-

цы

J(x).

Фундаментальное решение eλix

характеризует ло-

кальный отклик системы на малые изменения или возмущения

122

z(x). Предполагается , что система локально устойчива, так что Re(λi) < 0, i = 1, 2, . . . , s, и нестационарные фундаментальные решения затухают с увеличением x со скоростью, пропорциональной величине 1/Re(λi), которая называется локальной "временной постоянной"системы. Мерой жесткости задачи является интервал, в

котором заключены ее локальные "временные постоянные".

Определение

Задача Коши

 

 

dy(x)

 

= f (x, y(x)), y(0) = y0,

y = (y1, . . . , ys).

(25.4)

 

 

dx

 

 

 

 

 

 

 

 

 

 

называется жесткой в некотором интервале I [a, b],

если для

x I

 

 

 

 

 

 

 

 

• Re(λi) < 0, i = 1, . . . , s,

 

 

 

 

 

 

 

 

max

Re(

λ )

 

 

 

 

S(x) =

 

i=1,...,s

i

 

 

 

 

 

 

 

>> 1,

 

 

 

 

min

Re(

λi)

 

 

 

 

 

 

 

 

i=1,...,s

 

 

 

где

λi – собственные значения ∂f

,

в которые подставлено реше-

ние

z(x) в точке

 

 

∂y

 

 

 

x.

 

 

 

 

 

Отношение

S(x)

называется коэффициентом жесткости за-

дачи. Жесткую задачу называют также "задачей с сильно различающимися временными постоянными"или "системой с большой константой Липшица"(так как L = ∂f∂y > = maxi=1,...,s i| - спектральный радиус).

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

§26. Неявные методы Рунге-Кутты

Общая схема m – этапного метода имеет вид:

 

m

 

y(x + h) ≈ y(x) +

i

(26.1)

biki(h),

 

=1

 

123

где

 

m

 

ki(h) = hf (x + cih, y(x) +

j

(26.2)

aij kj (h), j = 1, . . . , m

 

=1

 

Параметры ci, aij , bi выбираются так , чтобы разложение выражения (26.1) по степеням h совпадало с разложением точного решения y(x + h) в ряд Тейлора до некоторой степени hs включительно.

Продемонстрируем вывод неявных формул метода РунгеКутты на примере двухэтапной схемы:

y(x + h) ≈ y(x) + b1k1(h) + b2k2(h),

(26.3)

где

 

 

k1(h) = hf (x + c1h, y(x) + a11k1

(h) + a12k2(h)),

(26.4)

k2(h) = hf (x + c2h, y(x) + a21k1(h) + a22k2(h))

(26.5)

Функция погрешности метода :

 

 

Ψ(h) = y(x + h) − y(x) − b1k1

(h) − b2k2(h),

(26.6)

Для того, чтобы Ψ (0), Ψ (0), Ψ (0) равнялись нулю для любой правой части f (x, y(x)) необходимо и достаточно чтобы параметры метода удовлетворяли системе уравнений:

b1 + b2 = 1,

 

 

(26.7)

b1c1 + b2c2

=

1

,

(26.8)

 

2

b1c12 + b2c22

=

1

,

(26.9)

3

 

 

 

 

b1(c1a11 + c2a12) + b2(c1a21 + c2a22) =

1

,

(26.10)

 

6

c1

= a11 + a12,

 

 

(26.11)

c2

= a21 + a22,

 

 

(26.12)

Система алгебраических уравнений имеет многопараметрическое семейство решений. Зафиксировав часть из них: a11 = a22, a12 =

124

 

3 +

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 и c1 =

3

,

получим двухэтапную расчетную схему третьего

6

 

порядка точности :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y(x + h) ≈ y(x) +

1

[k1(h) + k2(h)],

 

 

 

 

 

 

(26.13)

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 +

 

 

 

 

 

3 +

 

 

 

 

 

 

 

k1(h) = hf (x +

3

h, y(x) +

3

k1

(h)),

(26.14)

 

6

 

 

 

6

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h, y(x)

 

 

 

 

k (h) +

3 +

 

k (h))

 

k (h) = hf (x +

3

 

 

3

3

(26.15)

6

 

3

 

 

 

2

 

 

 

 

 

 

1

6

 

 

 

 

2

Применение неявной расчетной схемы (26.13)-(26.15) к линейной системе (24.20) приводит к разностному уравнению

yn+1 = P (Ah)yn,

(26.16)

где

P (Ah) = ,E −

3

+

 

 

 

 

2 +

 

A2h2-

1

3

Ah +

3

 

 

 

×

 

3

 

 

6

 

× ,E −

 

 

 

 

1

+

 

A2h2-

 

 

 

 

 

 

3

 

 

 

3

Ah −

 

 

 

 

3

 

6

 

 

 

 

Причем для P (Ah) – функции от матрицы характерно, что при λi < 0, i = 1, . . . , s (- собственные значения матрицы A ),

|P (λih)| < 1 .

Таким образом, применение этой расчетной формулы для интегрирования уравнения (24.1) обеспечивает убывание решения уравнения yn+1 = P (λih)yn при n → ∞ при произвольном h. А значит обеспечивается стремление к нулю всех составляющих (жестких и гладких) решения разностного уравнения (26.16), которые соответствуют собственным значениям с отрицательной действительной частью. Поэтому для устойчивых систем после прохождения пограничного (переходного) слоя шаг интегрирования может быть увеличен. При этом сохраняется численная устойчивость приближенного решения.

125

Батчер доказал, что для неявного m – этапного метода РунгеКутты наилучший возможный порядок равен 2m.

§27. Многошаговые методы решения обыкновенных дифференциальных уравнений

Общая схема многошаговых методов

решения задачи Коши

 

dy

= f (x, y)

 

(27.1)

 

 

 

 

dx

 

 

 

y(x0) = y0.

 

(27.2)

имеет вид:

 

 

yn+k = F (f, xn+k , . . . , xn, yn+k, yn+k−1, . . . , yn)

(27.3)

т.е. значение приближенного решения

yn+k в точке xn+k

опре-

деляется через значения решения в k

точках, предшествующих

xn+k .

Метод (27.3) называется k - шаговым. Из класса методов (27.3) выделим класс линейных многошаговых методов :

k

k

 

 

 

i

 

 

αiyn+i = h

βif (xn+i, y(xn+i)),

n = 0, 1, 2, . . . ,

(27.4)

i=0

=0

 

 

здесь αi и βi – постоянные, αk = 0,

0| + 0| = 0; Ра-

венство (27.4) устанавливает линейное соотношение между

yn+i

и f (xn+i, y(xn+i)).

Для того чтобы вычислить последовательность приближеннных значений yn, необходимо сначала получить k начальных значений y0, y1, . . . , yk−1. Далее, если βk = 0 , то метод (27.4) называется явным линейным многошаговым и yn вычисляется просто. В случае, если βk = 0 –метод называется неявным ,т.к. правая часть (27.4) содержит f (xn+i, y(xn+i)) и в общем случае необходимо решить нелинейное уравнение относительно y(xn+i) . Для реализации неявного метода можно равенство (27.4) представить в виде

 

βk

 

yn+k = h

αk f (xn+k , y(xn+k)) + gn, βk = 0,

(27.5)

126

где

gn

содержит известные

величины

f (xn+i, y(xn+i))

, y(xn+i),

i = 0, 1, . . . , k − 1.

Доказано, что если

 

 

 

h <

 

αk

·

1

 

(27.6)

 

 

βk

L ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

то существует единственное решение

yn+k уравнения (27.6), ко-

торое можно получить с помощью итерационного процесса

 

 

ynξ+1+k = h

βk

f (xn+k, ynξ +k) + gn,

 

ξ = 0, 1, . . . ,

(27.7)

 

 

 

 

 

αk

 

 

 

 

где yn0

+k произвольно. Но выбор

yn0

+k

играет огромную роль

в скорости сходимости итерационного процесса, поэтому для его вычисления используется явный многошаговый метод – предсказывающий (предиктор), неявный метод (27.7) в этой сцепке – исправляющий (корректор).

Наряду с (27.4) используется и другая форма многошагового

метода:

 

 

 

 

 

 

 

k

αiyn+i

=

k

βif (xn+i, y(xn+i)), n = 0, 1, 2, . . . ,

(27.8)

i

 

 

h

 

 

 

 

=0

i=0

 

 

 

 

 

 

 

 

 

 

Определение 27.1. Полином вида

 

 

 

 

 

 

 

 

k

 

 

 

 

 

(θ) =

i

(27.9)

 

 

 

 

 

αiθi.

 

 

 

 

 

=0

 

будем в дальнейшем называть характеристическим .

 

Полная погрешность в узле xn

определяется разностью yn

y(xn), 0 n N . Если она стремиться к нулю при h → 0 , то метод сходится.

Определение 27.2. Метод из класса (27.8) сходится , если для каждой задачи (27.1),(27.2)

y

n −→

y(x) h

0, n =

x − x0

h

 

 

 

для любых x [x0, xk].

127

Каким условиям должен удовлетворять метод из класса (27.8)? Ясно, что прежде всего в качестве такого условия должен выступать минимальный уровень локальной точности.

Определение 27.3. Невязка n+k ,которая получается после подстановки точного решения y(x) дифференциального уравнения в разностное (27.4),

 

k

k

 

 

i

 

 

n+k =

 

αiyn+i − h βif (xn+i, y(xn+i)),

(27.10)

 

=0

i=0

 

имеет порядок O(hs+1) и называется погрешностью аппроксимации. Число s называется порядком аппроксимации, или степенью разностного уравнения (27.4).

Определение 27.4. Величина rn+k = n+k , которая получает- h

ся после подстановки точного решения y(x) дифференциального уравнения в разностное (27.8), называется погрешностью дискретизации

§28. Построение разностных схем методом неопределенных коэффициентов

Коэффициенты αi, βi выбираются таким образом, чтобы разностное уравнение (27.4) аппроксимировало дифференциальное уравнение с достаточно гладкой правой частью с некоторым порядком s.

Будем предполагать, что правая часть f (x, y) исходного дифференциального уравнения имеет непрерывные частные производ-

ные до порядка s + 1 включительно, а значит, y(x)

– имеет

непрерывные производные до порядка

s + 2.

 

Если воспользоваться формулой

Тейлора для y(xn+i) и

y (xn+i) :

 

 

 

 

 

 

 

 

 

s+1

(ih)j

 

 

 

 

y(xn+i) =

j

 

 

 

y(j)(xn) + O(hs+2),

(28.1)

=0

 

j!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s

 

(ih)j

 

 

 

j

 

 

y (xn+i) =

 

 

 

y(j+1)(xn) + O(hs+1),

(28.2)

=0

j

!

 

 

 

 

 

 

 

 

 

 

 

 

 

128

то после подстановки (28.1),(28.2) в (27.10) получим разложение погрешности аппроксимации n+k по степеням h :

n+k =

, k

αi- y(xn) + h , k

i k

βi- y (xn) +

 

 

 

i

 

 

 

 

 

 

+ 2 ,

 

=0

2

 

i=1

i=0

 

 

k

i2

αi

i- y”(xn) + . . . +

 

 

h2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

i=1

is

αi

− s

=1

 

 

 

 

+ s! ,

k

is−1βi- y(s)(xn) +

 

 

hs

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

i=1

 

i

 

 

=1

 

i βi- y(s+1)(xn) + +O(h(28.3)),

+ s + 1!

,

 

 

αi (s + 1)

k

 

hs+1

 

k

 

 

 

 

 

 

 

 

 

 

s+1

 

 

 

s

 

s+2

 

 

 

i

 

 

 

 

 

 

 

 

 

=1

 

 

 

i=1

 

 

 

Из (28.3) ясно, что величина n+k имеет порядок O(hs+1)

в том,

и только в том случае, если параметры удовлетворяют равенствам:

k

 

 

 

i

 

 

(28.4)

αi = 0,

 

=0

 

 

 

k

k

 

 

 

i

= 0,

(28.5)

i

βi

i=1

=0

 

 

k

k

 

 

 

i

iη−1βi = 0, η = 2, . . . , s.

 

iη αi − η

(28.6)

i=1

=1

 

 

Выполнение первых двух равенств обеспечивает порядок схемы – один. Увеличение порядка точности на единицу, каждый раз связано с добавлением к системе (28.4) - (28.6) еще одного дополнительного равенства вида (28.6) связывающего параметры метода . Степень s разностного уравнения (27.4) определяется только коэффициентами αi , βi разностного уравнения и не зависит от дифференциального уравнения. для решения которого оно применяется.

Предположим, что параметры метода удовлетворяют s + 1 равенству системы (28.4) - (28.6). Погрешность аппроксимации и

129

дискретизации имеют вид:

 

isβi- y(s+1)(xn) + +O(hs+2) =

n+k = s + 1!

,

k

is+1αi (s + 1)

 

hs+1

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=1

 

 

 

i=1

 

 

= Cs+1hs+1y(s+1)(xn) + O(hs+2).

 

βi- y(s+1)

(28.7)

rn+k = s + 1!

,

k

is+1αi (s + 1)

is

(xn) + +O(hs+1) =

 

hs

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=1

 

 

 

=1

 

 

= Cs+1hsy(s+1)(xn) + O(hs+1,

 

 

(28.8)

где

 

 

 

,

 

is+1αi (s + 1)

isβi-

 

Cs+1 = s + 1!

k

(28.9)

 

 

 

1

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=1

 

 

=1

 

Если гладкость решения меньше требуемой. то погрешности аппроксимации и дискретизации имеют меньший (по h ) порядок погрешности и оценки (28.7),(28.8) не выполняются.

Для того чтобы величина погрешности аппроксимации n+k и погрешность дискретизации rn+k не изменялись при умножении разностного уравнения (27.4) на произвольную постоянную, вводится нормировка разностного уравнения с помощью дополнительных условий, налагаемых на коэффициенты уравнения. Обычно полагают либо

αk = 1,

(28.10)

либо

k

 

i

(28.11)

βi = 1.

=0

 

При выполнении условия (28.10) разностная схема (27.4) имеет вид:

k−1

k

 

 

i

(28.12)

yn+k =

αiyn+i + h βi = 1f (xn+i, yn+i).

i=0

=0

 

130