Schisla_3
.pdf21
2.5.4Оценка глобальной погрешности метода Рунге-Кутты
Если известно точное решение u(x) в некоторой точке x 2 [a; b], то локальная ошибка приближенного решения y(x + h) = u(x + h) + '(h), полученного методом Рунге-Кутты s- ого порядка, имеет порядок '(h) =
O(hs+1).
Пусть требуется вычислить значения решения задачи
u0 = f(x; u); x |
2 |
[a; b] |
(2.11) |
u(a) = u0; |
|
||
|
|
|
|
в точках (на сетке с шагом h) |
|
|
|
xi = a + ih; i = 0; 1; : : : ; N; |
xN = b: |
Для оценки погрешности приближенного решения в некоторой точке xn 2 [a:b] используется лемма.
Лемма. Пусть u1(x) и u2(x) различные решения дифференциального уравнения
u0 = f(x; u);
тогда
R¯ @f (x;ue(x))dx
u1(¯) ¡ u2(¯) = (u1(®) ¡ u2(®)) e® @u ;
где ® 2 [a; b] и ¯ 2 [a; b], значение ue(x) для любого x 2 [a; b] заключено между u1(x) и u2(x).
Доказательство. Из формулы Лагранжа о конечных приращениях и ра-
венств
u01 = f(x; u1);
u02 = f(x; u2);
следует
u01 ¡ u02 = f(x; u1) ¡ f(x; u2) = fu(x; ue(x))(u1 ¡ u2);
где ue(x) для любого x 2 [a; b] заключено между u1(x) и u2(x). Доказательство леммы получается после интегрирования этого выражения.
22 |
|
|
Рассмотрим серию задач Коши |
|
|
u0 = f(x; u); |
x 2 [xj; b] |
(2.12) |
u(xj) = yj; |
j = 0; 1; 2; :::; n |
|
Решение такой задачи uj(x) удовлетворяет начальному условию uj(xj) = yj = uj¡1(xj), где uj¡1(x) решение задачи, вычисленное на отрезке [xj¡1; b].
Пусть решение задачи u0(x) = u(x) + ±0(x)
u0 = f(x; u); x 2 [x0; b] u(x0) = u0;
отличается от точного решения u(x) на величину погрешности j±0(x)j 6 ±, обусловленной лишь ошибками округления. Приближенное решение этой задачи, рассчитанное методом Рунге-Кутты s– ого порядка, в точке x1 = x0 + h принимает значение u0(x1) = u(x1) + '0(h) + ±0, здесь '0(h) = C0hs+1 + O(hs+2) – локальная погрешность метода Рунге-Кутты, j±0j 6 ± – погрешность связанная с ошибками округления.
Аналогично для решения u1(x) задачи Коши
u0 |
= f(x; u); x |
2 |
[x |
; b] |
1 |
|
1 |
|
|
u1 |
(x1) = u0; |
|
|
|
получается u1(x2) = u0(x2) + '1(h) + ±1, где '1(h) = C1hs+1 + O(hs+2), j±1j 6 ±. Таким образом решение uj(x) задач (2.12) в точках xj j = 1; 2; : : :
uj(xj) = uj¡1(xj) + 'j(h) + ±j;
23
где 'j(h) = Cjhs+1 + O(hs+2), j±jj 6 ±. Из этого выражения следует, что uj(xj) ¡ uj¡1(xj) = 'j¡1(h) + ±j.
Точность приближенного решения un(xn) в некоторой точке xn 2 [a:b] можно записать в виде
Rn = u(xn) ¡ un(xn) = un(xn) ¡ un¡1(xn) + un¡1(xn) ¡ un¡2(xn) + : : : +
+u1(xn) ¡ u0(xn) + u0(xn) ¡ u(xn) = Pn (uj(xn) ¡ uj¡1(xn)) + ±0:
j=1
Из доказанной выше леммы получается оценка
|
uj(xn) |
uj 1(xn) = (uj(xj) |
|
uj |
|
1(xj))exRj |
@u@f (x;u(x)) dx = |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xn |
e |
|
¡ |
|
|
¡ |
|
|
|
|
|
|
|
¡ |
|
¡ |
|
|
|
|
|
|
|
|
|
= ('j 1(h) + ±j)exRj |
@u@f |
(x;u(x)) dx |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
xn |
|
|
|
e |
|
|
|
¯ |
@f |
|
¡ |
¯ |
|
|
|
|
|
|
|
|
|
|||
|
L = max |
|
|
n |
|
max |
|
C |
|
|
||||||||
|
|
(x; u(x) |
C |
|
|
|
|
|
||||||||||
|
|
¯ |
|
|
|
|
|
¯ |
|
|
|
|
|
|
|
|
|
|
Пусть |
a6x6b ¯ |
@u |
|
|
¯, |
= |
|
16j6n j |
|
jj, тогда |
||||||||
|
jRnj = jy(¯xn) ¡ u(xn)¯ |
6 juj(xn) ¡ uj¡1(xn)j + j±0j 6 |
||||||||||||||||
|
|
|
n |
|
|
|
|
|
=1 |
|
|
|
|
|
|
|
||
|
|
|
|
|
('j 1(h) + ±j |
|
exRj j@u (x;u(x)j dx + ± |
|||||||||||
|
6 |
=1 j |
|
|
|
jP xn |
@f |
|
|
b |
|
j j 6 |
||||||
|
¡ |
|
|
|
j |
|
|
|
|
|
|
|||||||
|
|
jP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n Rb L dx
6 P(Chs+1 + O(hs+2) + ±)ea + ±
j=1
Отсюда с точностью до O(hs+2) следует
jRnj 6 neL(b¡a)(Chs+1 + ±) + ± = xn ¡ aeL(b¡a)(Chs+1 + ±) + ± h
то есть, если задача достаточно гладкая и точность ЭВМ позволяет, то найдется шаг h, обеспечивающийся заданную точность.
Полученная глобальная оценка погрешности метода Рунге-Кутты объясняет, почему при больших значениях L с увеличением n растет погрешность метода Рунге - Кутта, несмотря на автоматический выбор шага. Обычно свойства устойчивости или неустойчивости решаемой дифференциальной системы неизвестны, поэтому локальные погрешности обычно имеют мало общего с глобальными погрешностями [11].
24
2.6Многошаговые методы
Пусть в точках xj = a + jh, j = 0; 1; : : : ; k ¡ 1 на отрезке [a, b] известны значения точного uj решения задачи Коши
u0 = f(x; u); x |
2 |
[a; b]; |
(2.13)
u(a) = u0;
или можно считать uj ¼ yj, где yj – приближенное решение (2.13), рассчитанное заданной точностью ".
Методы вычисления приближенного решения ym задачи (2.13) в точках xm 2 [a; b], m = k; k + 1; : : : ; n (xn = b), использующие k известных значениий yj, j = m ¡ 1; m ¡ 2; : : : ; m ¡ k называются явными k- шаговыми методами. Если используются k значениий yj, j = m; m ¡ 1; : : : ; m ¡ k ¡ 1, то получается неявный k- шаговый метод.
2.6.1Построение k- шаговых методов с помощью численного интегрирования
Для точного решения задачи (2.13) справедливо тождество
uj = uj¡p +xZxj |
f(x; u(x)) dx: |
(2.14) |
j¡p |
|
|
Если известны значения решения uj в точках xj |
= a + jh 2 [a; b], |
j = 0; 1; : : : ; k ¡ 1, то в этих точках известны и значения правой части fj = f(xj; uj). Это означает, что для функции f(x; u(x)) можно построить интерполяционный многочлен Lk(x).
k¡1 |
|
Xj |
(2.15) |
f(x; u(x)) = Lk(x) + r(x) = fjpj(x) + r(x); |
|
=0 |
|
где pj(x) – известные полиномы степени не более k ¡ 1,
r(x) 6 C Mk!k hk оценка погрешности интерполяционного многочлена,
25
C |
= |
const M |
|
max |
f(k)(x; u(x)) |
j. |
|
||
|
, |
|
k |
= a6x6b j |
|
|
|
||
После подстановки (2.15) в тождество (2.14) получится равенство |
|||||||||
|
|
|
|
xj |
k¡1 |
|
xj |
k¡1 |
|
uk = uj¡p + Z |
j=0 fjpj(x) dx + Z |
r(x) dx = uj¡p + j=0 bjfj + R(f); |
|||||||
|
|
|
xj¡p |
X |
|
xj¡p |
X |
|
|
где коэффициенты bj =xZxj |
pj(x) dx, а погрешность R(f) =xZxj |
r(x) dx. |
|||||||
|
|
|
|
|
j¡p |
|
j¡p |
|
Теперь расчетные формулы для вычисления значения приближенного решения (2.13) с помощью явного (экстраполяционного) k – шагового метода примут вид
|
m |
u(xm) ¼ ym = ym¡p + |
X |
bjfj; m = k; k + 1; : : : ; n: |
|
|
j=m¡k |
Если при построении интерполяционного многочлена Lk(x) используется также и неизвестное значение fk = f(xk; uk) при x = xk, тогда получается неявный (интерполяционный) k- шаговый метод. В этом случае при вычислении значения ym требуется решать трансцендентное уравнение, так как в правой части расчетной формулы находится fm = f(xm; ym).
2.6.2Методы Адамса.
При p = 1 построенные методы называются методами Адамса. Для их вывода удобно использовать интерполяционную формулу Ньютона, построенную по k узлам x0; x1; : : : ; xk¡1 для конца таблицы
Lk(x) = Lk(xk¡1 + th) = fk¡1 + t¢fk¡2+
|
t(t + 1) |
|
|
|
|
|
|
t(t + 1) : : : (t + k ¡ 2) |
(2.16) |
||||
+ |
|
¢2f |
k¡3 |
+ |
¢ ¢ ¢ |
+ |
¢k¡1f ; |
||||||
|
|
||||||||||||
2! |
|
|
|
|
|
k |
¡ |
1! |
0 |
||||
|
|
|
|
|
|
|
|
|
|
|
|
||
здесь fi = f(xi), |
¢fi = fi ¡ fi¡1, |
¢jfi |
= ¢j¡1fi ¡ ¢j¡1fi¡1, |
||||||||||
t = (x ¡ xk¡1)=h. |
|
|
|
|
|
|
|
|
|
|
26
Расчетная формула экстраполяционного метода Адамса (АдамсаБаш- форта) получается, если подставить (2.16) в выражение
uk ¼ yk = uk¡1 +xZxk |
Lk(x) dx = uk¡1 + h Z0 1 |
Lk(xk¡1 + th) dt: |
|
k¡1 |
|
|
|
и проинтегрировать его. Тогда |
|
|
|
|
k¡1 |
|
|
|
Xj |
¢jfk¡j¡1); |
|
u(xk) ¼ yk = yk¡1 + h(fk¡1 + bj |
|||
|
=1 |
|
|
Z1
t(t + 1) : : : (t + j ¡ 1)dt, j = 1; : : : ; k. j!
0
Пример. Пусть k = 2, т.е. известны точные значения решения в двух узлах yk¡1 = uk¡1 и yk¡2 = uk¡2, тогда
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
y |
|
= y |
1 |
+ h (f |
k¡1 |
+ t¢f |
k¡2 |
) dt = |
|
1 |
|
||||
|
|
|
k |
|
k¡1 |
R0 |
|
|
3 |
|
|
||||||
= yk¡1 + h µfk¡1 + |
|
¢fk¡2¶ = yk¡1 + h µ |
|
fk¡1 |
¡ |
|
fk¡2 |
¶; |
|||||||||
2 |
2 |
2 |
|||||||||||||||
погрешность этого двушагового метода явного метода |
|
|
|
|
|||||||||||||
|
h2 |
xk |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
R = |
|
xZ |
f00(») dx = O(h2) где |
xk¡1 < » < xk: |
|
||||||||||||
2 |
|
||||||||||||||||
|
|
k¡1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Аналогично выводится интерполяционная формула Адамса (Адамса - Мултона), если используется узел xk и неизвестное значение uk = f(xk). Формула Ньютона для узлов xk; xk¡1; : : : ; x1 имеет вид,
Lk(x) = Lk(xk + th) = fk + t¢fk¡1+
+t(t + 1)¢2fk¡2 + ¢ ¢ ¢ + t(t + 1) : : : (t + k ¡ 2)¢k¡1f1; 2! k ¡ 1!
где t = (x ¡ xk)=h. Тогда
uk ¼ yk = yk¡1 + Zxk |
Lk(x) dx = yk¡1 + h Z0 |
Lk(xk + th) dt: |
xk¡1 |
¡1 |
|
27
После интегрирования получится расчетная формула метода Адамса -
Мултона
Xk¡1
u(xk) ¼ yk = yk¡1 + h(fk + bj¢jfk¡j);
j=1
Z0
t(t + 1) : : : (t + j ¡ 1)dt, j = 1; : : : ; k ¡ 1 j!
¡1
Пример. Пусть k = 2, т.е. известно точное значение решения yk¡1 = uk¡1, тогда
0
yk = yk 1 + h (fk + t¢fk¡1) dt = |
|||||||
|
1¡ |
¡R1 |
h |
(2.17) |
|||
= yk¡1 + h µfk ¡ |
|
¢fk¡1¶ = yk¡1 + |
|
|
|
(f(xk; yk) + fk¡1); |
|
2 |
2 |
|
оценка погрешности этой формулы такая же, как у явной формулы Адамса.
2.6.3Общая схема разностных методов
Общую схему k- шагового метода записать в виде
k |
k |
|
X |
Xj |
(2.18) |
ajym¡j = h |
bjf(xm¡j; ym¡j) m = k; k + 1; : : : ; n: |
|
j=0 |
=0 |
|
Если a0 =6 0, а b0 = 0 , то разностная схема (2.18) явная (экстраполяционный k- шаговый метод), если же b0 =6 0, то схема неявная (интерполяционный метод).
Произвольные пока коэффициенты ai, bi, i = 0; 1; : : : ; k требуется выбрать так, чтобы значения решения ym, m = k; k + 1; : : : ; n разностного уравнения (2.18) мало отличались бы от значений um точного решения задачи (2.13). Чтобы оценить эти погрешности вводится понятие сеточной функции и ее нормы.
Таблицу значений yj приближенного решения, рассчитанного в узлах xj = a + jh; j = 0; 1; : : : ; n, можно рассматривать как сеточную функцию
yh = fy0; y1; : : : ; yng. Пусть kyhk = max jyjj, очевидно, эта норма зависит
06j6n
28
от шага h. Точному решению u(x) непрерывной функции можно также поставить в соответствие uh = fu0; u1; : : : ; ung (uj = u(xj)).
Пусть сеточная функция eh = fe0; e1; : : : ; eng определяет погрешность приближенного решения (ej = yj ¡ uj ).
Определение. Метод из класса (2.18) сходится, если kehk = kyh ¡ uhk ! 0 при h ! 0 для любой задачи Коши (2.1) с достаточно гладкой правой частью f(x; u(x)). Если, кроме того, kyh ¡ uhk = O(hs+1), то говорят о методе s-ого порядка.
После подстановки yh = uh + eh в (2.18) получится, что погрешность eh должна удовлетворять разностному уравнению
jP |
|
|
Pk |
k |
|
k |
ajem¡j = h |
k |
bj (f(xm¡j; um¡j + em¡j) ¡ f(xm¡j; um¡j)) ¡ |
||
=0 |
j=0 |
||||
|
¡ |
Ãj=0 ajum¡j ¡ h j=0 bjf(xm¡j; um¡j)! |
: |
||
|
|
|
P |
P |
|
Это уравнение с помощью формулы конечных приращений Лагранжа, можно записать в виде
k |
k |
|
|
|
|
|
|
|
X |
Xj |
|
@f |
(xm¡j; um¡j)em¡j ¡ tm |
(2.19) |
|||
ajem¡j = h |
|
bj |
@u |
|||||
j=0 |
=0 |
|
|
k |
e |
k |
|
|
e |
|
|
|
P |
ajum¡j ¡ h |
jP |
bjf(xm¡j; um¡j). |
|
где um¡j = um¡j + ´em¡j, j´|<1, tm = |
|
|
||||||
|
|
|
j=0 |
|
=0 |
|
|
Величина tm показывает насколько точное решение u(x) не удовлетворяет разностному уравнению (2.18) и называется аппроксимацией дифференциальной задачи (2.1) схемой (2.18). От значения tm зависит локальная погрешность em. Действительно, если em¡j = 0, j = 1; : : : ; k ¡1 из разностного уравнения (2.19) получается выражение для em
amem = hb0 @f@u(xm; uem)em ¡ tm ) em = @f tm : hb0 @u(xm; uem) ¡ am
Это означает, что для сходимости разностной схемы (2.18) надо выбрать такие коэффициенты ai, bi, i = 0; 1; : : : ; k, чтобы невязка tm = O(hs+1).
29
Известно, что полная погрешность (глобальная) зависит не только от локальной погрешности, но и от того, как уравнение (2.19) преобразует "предыдущие погрешности", т.е. имеет ли это уравнение быстро растущие решения.
С точностью до O(hs+1), линейное разностное уравнение k- ого порядка (2.18) можно записать в виде
k |
|
(xm¡j; um¡j)¶em¡j = 0 |
|
X |
@f |
(2.20) |
|
j=0 |
µaj ¡ hbj @u |
||
|
|
e |
|
Чтобы выяснить, отчего зависит существование у (2.20) быстро растущих решений, рассмотрим однородные линейные разностные уравнения с постоянными коэффициентами
2.6.4Однородные линейные разностные уравнения с постоянными коэффициентами
Запишем разностное уравнение в виде
Xk
ajyj = 0: |
(2.21) |
j=0
Такое разностное уравнение имеет k – ый порядок, т.к., чтобы вычислить yk, требуется знать k предыдущих значений yk¡1; yk¡2; : : : ; y0.
Определение. Порядком разностного уравнения называется число дополнительных условий, которые выделяют его единственное решение.
Частное решение (2.21) можно разыскивать в виде ym = ¸m. Из (2.21) следует, что такое решение существует, если ¸ является корнем характеристического многочлена
Xk
Pk(¸) = aj¸j = 0:
j=0
Многочлен Pk(¸) имеет ровно k вещественных или комплексных корней, если каждый корень считать столько раз какова его кратность (следствие из основной теоремы алгебры). Возможны три случая.
30
1.Все корни характеристического уравнения вещественны и различны (просты). Тогда существует k вещественных линейно независимых решений yj(m) = ¸jm разностного уравнения (2.21).
2.Все корни простые, но среди них есть комплексные, очевидно, комплексно сопряженные. Пусть
¸l = ½(cos ' + i sin '); ¸l+1 = ½(cos ' ¡ i sin '):
Этим двум корням характеристического уравнения соответствуют два вещественных линейно независимых решения
ylj = 12(¸jl + ¸jl+1) = ½j cos j'; ylj+1 = 12(¸jl ¡ ¸jl+1) = ½j sin j':
3. Среди корней характеристического многочлена есть кратные. Справедлива лемма (без доказательства): Если ¸l корень характеристического многочлена кратности q ,то
Xk
ajjp¸jl = 0; p = 0; 1; : : : ; q ¡ 1:
j=0
Согласно лемме корню ¸l кратности q соответствует q линейно независимых решений
yl = ¸jl ; yl+1 = j¸jl ; : : : ; yl+q¡1 = jq¡1¸jl :
Таким образом, уравнение (2.21) имеет k линейно независимых частных решений, а его общее решение можно записать в виде
Xk
yj = Cm¸jm;
m=1
где Cm – произвольные постоянные.
Если j¸mj < 1; m = 1; 2; : : : ; k, то решение yj ! 0 при j ! 1 (эквивалентно h ! 0). Если же сушествует простое j¸lj = 1, то решение yj, по