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

Schisla_3

.pdf
Скачиваний:
10
Добавлен:
13.02.2015
Размер:
699.4 Кб
Скачать

21

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 = u1(xj), где u1(x) решение задачи, вычисленное на отрезке [x1; b].

Пусть решение задачи u0(x) = u(x) + ±0(x)

u0 = f(x; u); x 2 [x0; b] u(x0) = u0;

отличается от точного решения u(x) на величину погрешности 0(x)j 6 ±, обусловленной лишь ошибками округления. Приближенное решение этой задачи, рассчитанное методом Рунге-Кутты s– ого порядка, в точке x1 = x0 + h принимает значение u0(x1) = u(x1) + '0(h) + ±0, здесь '0(h) = C0hs+1 + O(hs+2) – локальная погрешность метода Рунге-Кутты, 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), 1j 6 ±. Таким образом решение uj(x) задач (2.12) в точках xj j = 1; 2; : : :

uj(xj) = u1(xj) + 'j(h) + ±j;

23

где 'j(h) = Cjhs+1 + O(hs+2), jj 6 ±. Из этого выражения следует, что uj(xj) ¡ u1(xj) = '1(h) + ±j.

Точность приближенного решения un(xn) в некоторой точке xn 2 [a:b] можно записать в виде

Rn = u(xn) ¡ un(xn) = un(xn) ¡ u1(xn) + u1(xn) ¡ u2(xn) + : : : +

+u1(xn) ¡ u0(xn) + u0(xn) ¡ u(xn) = Pn (uj(xn) ¡ u1(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) ¡ u1(xn)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).

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

1

 

xj

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; : : : ; x1 для конца таблицы

Lk(x) = Lk(x1 + th) = f1 + t¢f2+

 

t(t + 1)

 

 

 

 

 

 

t(t + 1) : : : (t + k ¡ 2)

(2.16)

+

 

¢2f

3

+

¢ ¢ ¢

+

¢1f ;

 

 

2!

 

 

 

 

 

k

¡

1!

0

 

 

 

 

 

 

 

 

 

 

 

 

здесь fi = f(xi),

¢fi = fi ¡ f1,

¢jfi

= ¢1fi ¡ ¢1f1,

t = (x ¡ x1)=h.

 

 

 

 

 

 

 

 

 

 

где bj =

26

Расчетная формула экстраполяционного метода Адамса (АдамсаБаш- форта) получается, если подставить (2.16) в выражение

uk ¼ yk = u1 +xZxk

Lk(x) dx = u1 + h Z0 1

Lk(x1 + th) dt:

1

 

 

 

и проинтегрировать его. Тогда

 

 

 

1

 

 

 

Xj

¢jfk¡j¡1);

u(xk) ¼ yk = y1 + h(f1 + bj

 

=1

 

 

Z1

t(t + 1) : : : (t + j ¡ 1)dt, j = 1; : : : ; k. j!

0

Пример. Пусть k = 2, т.е. известны точные значения решения в двух узлах y1 = u1 и y2 = u2, тогда

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

y

 

= y

1

+ h (f

1

+ t¢f

2

) dt =

 

1

 

 

 

 

k

 

1

R0

 

 

3

 

 

= y1 + h µf1 +

 

¢f2= y1 + h µ

 

f1

¡

 

f2

;

2

2

2

погрешность этого двушагового метода явного метода

 

 

 

 

 

h2

xk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R =

 

xZ

f00(») dx = O(h2) где

x1 < » < xk:

 

2

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

Аналогично выводится интерполяционная формула Адамса (Адамса - Мултона), если используется узел xk и неизвестное значение uk = f(xk). Формула Ньютона для узлов xk; x1; : : : ; x1 имеет вид,

Lk(x) = Lk(xk + th) = fk + t¢f1+

+t(t + 1)¢2f2 + ¢ ¢ ¢ + t(t + 1) : : : (t + k ¡ 2)¢1f1; 2! k ¡ 1!

где t = (x ¡ xk)=h. Тогда

uk ¼ yk = y1 + Zxk

Lk(x) dx = y1 + h Z0

Lk(xk + th) dt:

x1

¡1

 

где bj =

27

После интегрирования получится расчетная формула метода Адамса -

Мултона

X1

u(xk) ¼ yk = y1 + h(fk + bj¢jfk¡j);

j=1

Z0

t(t + 1) : : : (t + j ¡ 1)dt, j = 1; : : : ; k ¡ 1 j!

¡1

Пример. Пусть k = 2, т.е. известно точное значение решения y1 = u1, тогда

0

yk = yk 1 + h (fk + t¢f1) dt =

 

1¡

¡R1

h

(2.17)

= y1 + h µfk ¡

 

¢f1= y1 +

 

 

 

(f(xk; yk) + f1);

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, |<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 предыдущих значений y1; y2; : : : ; 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 = jl ; : : : ; yl+1 = j1¸jl :

Таким образом, уравнение (2.21) имеет k линейно независимых частных решений, а его общее решение можно записать в виде

Xk

yj = Cm¸jm;

m=1

где Cm – произвольные постоянные.

Если mj < 1; m = 1; 2; : : : ; k, то решение yj ! 0 при j ! 1 (эквивалентно h ! 0). Если же сушествует простое lj = 1, то решение yj, по

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]