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

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

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

(10.17) ; a31 ,используя (10.12)

;

b3 ,используя (10.14) ;

b2 ,используя (10.15) ; и наконец,

b1

,используя (10.16) . Та-

ким образом в первом случае имеем двух параметрическое семейство решений (расчетных схем), параметры которого c2

и c3

удовлетворяют равенству

 

 

 

 

2

)(c3

 

 

 

c2c3(c2

 

− c2) = 0.

 

 

3

при

c2 = c3 =

2

решения

системы образуют однопа-

3

раметрическое семейство решений относительно параметра ξ ≡ b3 = 0 ,которое может быть представлено в схематичной форме

0

22

3

 

3

 

 

 

 

2

2

1

 

1

 

3

3

4ξ

 

4ξ

44 − ξ ξ

при c2 = 23 , c3 = 0 решения системы образуют однопараметрическое семейство решений относительно параметра

ξ≡ b3 = 0 ,которое может быть представлено в схематичной форме 1 3

0

22

3

 

3

 

 

 

0

 

1

 

1

 

 

 

 

 

4ξ

4ξ

 

 

1

− ξ

3

ξ

 

4

4

Убедитесь в том, что как бы мы ни выбрали параметры, четвертую производную обратить в нуль для произвольной правой части f (x, y(x)) нельзя. Разложение погрешности метода имеет вид:

3 =

Ψ(4)(0)

h4

+ o(h4),

(10.18)

24

 

 

 

 

Рассмотрим несколько наиболее употребительных расчетных

схем интегрирования третьего порядка точности.

Для этого положим:

81

1

c2 = 2 , c3 = 1,

Тогда метод (10.1) с использованием равенств (10.11)-(10.16) примет вид:

 

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

1

[k1(h) + 4k2

(h) + k3(h)].

(10.19)

 

 

 

6

где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k1(h) = hf (x, y(x)),

 

 

 

 

 

 

 

 

 

 

 

1

h, y(x) +

1

 

 

 

 

 

 

k2(k) = hf (x +

 

 

k1(h)),

 

 

 

 

 

2

2

 

 

 

 

 

k3(k) = hf (x + h, y(x) − k1(h) + 2k2(h)).

 

Рассмотрим схему при:

 

 

 

 

 

 

 

 

 

1

 

2

 

 

 

 

 

 

 

 

 

c2 =

 

 

,

c3 =

 

,

 

 

 

 

 

 

 

 

3

3

 

 

 

 

 

 

 

 

Тогда метод (10.1) в соответствии с соотношениями (10.11)-(10.16), примет вид:

1

 

 

 

 

 

 

 

 

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

 

[k1(h) + 3k3

(h)].

(10.20)

4

где

 

 

 

 

 

 

 

k1(h) = hf (x, y(x)),

 

 

 

 

 

k (k) = hf (x +

1

h, y(x) +

1

k

 

(h)),

 

3

3

 

 

2

 

 

 

 

1

 

 

k (k) = hf (x +

2

h, y(x) +

2

k

 

(h)).

 

3

3

 

 

3

 

 

 

 

2

 

 

§11. Четырехэтапный метод Рунге-Кутты.

Займемся теперь построением четырехэтапного метода РунгеКутты с таким расчетом , чтобы он имел порядок точности – четыре. Раннее мы уже строили методы и знаем , что надо делать: вычислить производные порядка 1, 2, 3, 4 от Ψ(h) при h = 0 и исследовать условия порядка при которых эти равенства: Ψ(i)(0) = 0, i = 1, 2, 3, 4. выполняются Число вычислений правой

82

части на шаге интегрирования равно m = 4. Метод интегрирования имеет вид:

y(x + h) ≈ y(x) + b1k1(h) + b2k2(h) + b3k3(h) + b4k4(h). (11.1)

где

k1(h) = hf (x, y(x)),

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

k3(k) = hf (x + c3h, y(x) + a31k1(h) + a32k2(h)),

k4(k) = hf (x + c4h, y(x) + a41k1(h) + a42k2(h) + a43k3(h)).

Методическая погрешность равна

Ψ(h) = y(x + h) − y(x) − b1k1(h) − b2k2(h) − b3k3(h) − b4k4(h)(11. .2)

Для того чтобы производные функции Ψ(i)(h) |h=0 1, 2, 3, 4. необходимо и достаточно (для произвольных стей), чтобы:

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

. Ψ(1)(0) = 0, bi

= 1;

 

 

 

 

 

 

 

 

 

 

 

 

i=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

1

 

 

 

 

 

 

 

 

 

 

 

i

 

 

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ψ(2)(0) = 0,

bici =

2

 

 

 

 

 

 

 

 

 

 

=2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

=

1 ;

 

 

 

i=2 bici2

 

 

 

 

 

 

Ψ(3)(0) = 0,

m

 

 

 

 

i

 

1

 

 

 

=

3

 

 

 

i=3 bi

 

j=2 aij cj

 

6 ;

 

 

i=2 bici

 

 

 

 

 

1

 

 

 

m

 

 

 

 

i

 

1

 

 

 

 

 

 

 

m

 

 

 

3

 

 

 

 

 

 

 

 

 

i=3 bi

 

j=2 aij cj

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ψ (0) = 0,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

m

 

 

 

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b c

i

 

 

a

c

j

 

(4)

 

 

i=3

i

 

j=2

ij

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

1

 

 

 

j 1

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bi

 

 

aij

 

acη

 

 

 

i=4

 

 

 

j=3

 

 

 

η=2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= 0 , i =

правых ча-

(11.3)

(11.4)

(11.5)

=14 ;

=121 ;

(11.6)

=18 ;

=241 .

Кутта дал общее решение системы (11.3)-(11.6) . Мы рассмотрим лишь частные решения этой системы на примере двух наиболее

83

известных схем интегрирования:

Правило одной шестой(Классический метод Рунге-Кутты)

1

[k1(h) + 2k2(h) + 2k3(h) + k4(h)]. (11.7)

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

 

6

где

 

 

 

 

 

k1(h) = hf (x, y(x)),

 

 

 

k2(k) = hf (x +

1

h, y(x) +

1

k1

(h)),

 

 

2

2

k (k) = hf (x +

1

h, y(x) +

1

k

(h)),

2

2

3

 

 

 

2

 

k4(k) = hf (x + h, y(x) + k3(h)).

Погрешность формулы (11.7) , как и для всех формул Рунге-Кутты четвертого порядка точности, представляется в следующей форме:

4 =

Ψ(5)(0)

h5

+ o(h5),

(11.8)

120

 

 

 

 

Предпринималось много попыток, чтобы выбрать возможно "лучший"из множества различных расчетных схем метода РунгеКутты четвертого порядка точности. Достоин внимания метод Гилла. Гилл преследовал цель уменьшить количество требуемой машинной памяти("регистров"). Он заметил, что больше всего памяти нужно при вычислении k3(h), когда требуются регистры для хранения в какой-либо форме величин y + a31k1(h) + a32k2(h), y + a41k1(h) + a42k2(h), y + b1k1(h) + b2k2(h), k3(h). Гилл определил, что для третьего этапа будет достаточно трех регистров, если величины подлежащие хранению линейно зависимы.

1 a31 a32

 

1 a41

a42

 

= 0.

(11.9)

 

 

 

 

 

 

 

1 b1

b2

 

 

 

 

 

84

А это возможно, если параметры метода равны соответственно:

c2 = c3

=

 

1

; c4 = 1;

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

b

= b

=

1

;

b

= u;

 

 

 

 

 

 

 

1

4

6

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

1 +

 

 

 

 

− u;

 

u =

0.5

b2 =

 

 

 

 

 

.

6

 

 

3

При этих значениях параметров – aij

 

определяются из исходной

системы АУ-условий порядкаединственным образом:

Расчетная формула Гилла «Каждая вычисленная величина засылается в регистр,

ранее содержащий соответствующую величину предыдущей стадии, больше не нужную»

 

 

 

1

 

 

 

 

 

 

 

 

 

1

 

1

 

k2(h) +

 

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

 

k1(h) +

 

 

 

1

 

 

 

6

3

 

 

2

 

1

 

1

k3(h) +

1

 

 

 

 

 

 

 

 

 

 

 

+

 

1 +

 

 

k4(h).

 

 

 

 

 

(11.10)

3

6

 

 

 

 

 

2

 

 

 

 

 

где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k1(h) = hf (x, y(x)),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k2(h) = hf (x +

1

h, y(x) +

1

 

k1(h)),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

2

 

 

 

 

 

 

 

 

 

 

 

 

1

h, y(x) +

1

(

 

 

 

 

 

 

 

 

 

 

 

1

 

 

k3(h) = hf (x +

2 1)k1(h) + (1

)k2

(h)),

 

 

 

 

 

 

2

2

 

 

 

2

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

k4(h) = hf (x + h, y(x)

 

k2(h) + (1 +

 

)k3(h)).

 

2

2

 

Этот метод ныне целесообразно использовать для систем уравнений

очень высокой размерности.

Алгоритм построения одношагового метода типа Рунге-Кутты любого порядка.

Как мы уже убедились, количество этапов метода, формально определяет структуру явного метода Рунге-Кутты и значит напрямую связаны с количеством - q параметров метода bi, ci, aij . Приведем таблицу этой зависимости:

85

m

 

1

2

3

4

5

6

q

 

1

4

8

13

19

26

Количество условий порядка −d (количество уравнений системы алгебраических уравнений, которым должны удовлетворять параметры метода ) определяется требованиями к порядку точности метода. Эта зависимость может быть представлена в виде таблицы связывающей порядок точности −s метода Рунге–Кутты и количество условий порядка:

s

 

1

2

3

4

5

6

7

8

d

 

1

2

4

8

17

37

85

200

Построение метода, предполагает фиксацию хотя бы одного из двух параметров m s :

если определены :число этапов - m и порядок точности - s , то Ψi(0) = 0, i = 1, s для того чтобы выполнялись эти равенства, необходимо и достаточно, чтобы параметры мето-

да bi, ci, aij являлись решениями системы нелинейных алгебраических уравнений( условия порядка): Lq(m),d(s) = 0, где q(m) -число неизвестных, d(s) -число уравнений системы связывающей параметры метода;

если задано число этапов - m , то как правило задается еще какой-нибудь критерий для построения метода интегрирования и ищем решение системы алгебраических уравнений таким образом, чтобы в рамках существующих ограничений порядок точности был наибольшим;

если определен порядок точности - s , необходимо найти параметры метода таким образом, чтобы в рамках существующих ограничений количество этапов было минимальным.

Для явных методов в общем случае выполняется неравенство m s. Фактически (для тех значений, для которых это известно) минимальное значение mˆ ≡ m для данного s приведем в таблице:

86

s

 

1

2

3

4

5

6

7

mˆ

 

1

2

3

4

6

7

9

В начале 60-х Батчер доказал , что при s 5 не существует явных методов Рунге-Кутты порядка точности s с числом этапов m = s.

Наивысший порядок, фактически достигнутый для явно построенных методов Рунге-Кутты, равен десяти.(Книга рекордов Гинесса). Кертис сконструировал в 1975 году 18-этапный метод порядка точности 10 . В 1978 году Хайрер скоструировал 17-этапный метод десятого порядка точности. Эти схемы могут быть полезны при требуемой точности выше чем 1015.

§12. Сходимость явных одношаговых методов.

Классификация погрешностей.:

Требуется найти функцию y(x), которая является решением дифференциального уравнения

 

dy

= f (x, y(x)), x

[a, b],

(12.1)

 

 

 

 

 

dx

и принимает в точке

x0 = a некоторое определенное значение

 

 

 

 

 

y(x0) = y0.

 

(12.2)

В случае, если начальное условие

y(x0) вычислено(задано)

с погрешностью , то вместо задачи (12.1),(12.2), решается за-

дача:

 

 

 

 

 

 

dy0

 

 

 

 

 

= f (x, y0(x)),

x [a, b],

(12.3)

 

 

dx

 

 

 

 

 

y0(x0) = y¯0.

(12.4)

с измененными начальными условиями

 

 

 

 

 

 

y0 − y¯0 = R0 = 0.

(12.5)

Решение задачи (12.3),(12.4) зависит от y¯0 и не совпадает с

решением y(x) исходной задачи (12.1),(12.2).

Разность

ξn = y(xn) − y0(xn)

(12.6)

87

называется неустранимой погрешностью решения y0(x).

Разность между значением решения y0(xn) задачи (12.3),(12.4) и его приближенным значением yn, полученным по формуле

yn = F (f ; h; xn−1; yn−1)

(12.7)

одношагового метода,

 

εn = y0(xn) − yn

(12.8)

называется погрешностью метода, или глобальной погрешносью метода.

Но вследствии ошибок округления и приближенного вычисления правой части f (x, y) дифференциального уравнения вычисления значений yn по формуле (12.7) выполняются неточно. Фактически найденные значения yˆn удовлетворяют не соотношению (12.7), а условию

F (f ; h; xn−1; yˆn−1) − yˆn = δn

(12.9)

Невязка δn называется погрешностью округления на n− м шаге.

Разность между точным решением y(xn) задачи (12.1),(12.2) и приближенным фактически найденным значением yˆn

Rn = y(xn) − yˆn

(12.10)

называется полной погрешностью приближенного решения

Величина

ηn = yn − yˆn

(12.11)

называется вычислительной погрешностью.

88

Из соотношений (12.6),(12.7), (12.10),(12.11) следует, что

Rn = ξn + εn + ηn

(12.12)

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

Рассмотрим поведение полной погрешности. Представим Rn в виде:

Rn = (y(xn) − yˆn) = (y(xn) − yn−1(xn)) + (yn−1(xn) − yˆn) =

= (y(xn) − yn−2(xn)) + (yn−2(xn) − yn−1(xn)) (yn−1(xn) − yˆn) =

 

n

 

 

= (y(xn) − y0(xn)) +

j

(xn) − yj (xn)) .

 

(yj−1

(12.13)

 

=1

 

 

Здесь yj (x) - интегральная кривая, проходящая через точку

(xj , yˆj ).

Докажем вспомогательное утверждение.

Лемма 12.1. Пусть z1(x) и z2(x) решения дифференциального

уравнения

 

 

dy

= f (x, y(x)), x [a, b],

(12.14)

 

 

 

 

 

dx

где

f (x, y(x)) непрерывная и непрерывно дифференцируемая по

y

функция.

 

 

Тогда

 

 

 

z2(β) z1(β) = (z2(α) z1(α)) · e αβ fy (x,y¯(x)),

(12.15)

где y¯(x) заключено между z1(x) и z2(x) .

Доказательство

Так как z1(x) и z2(x) являются решениями ДУ, то справедливы равенства

z1(x) = f (x, z1(x)), z2(x) = f (x, z2(x))

89

Вычтем их друг из друга, получим:

 

z2(x) − z1(x) = f (x, z2(x)) − f (x, z1(x))

(12.16)

и по теореме Лагранжа разность f (x, z2(x)) − f (x, z1(x))

предста-

вима в виде

 

f (x, z2(x)) − f (x, z1(x)) = fy (x, y¯) (z2(x) − z1(x))

(12.17)

отсюда следует, что

 

z2(x) − z1(x) = fy (x, y¯) (z2(x) − z1(x))

(12.18)

и проинтегрировав на интервале [α, β] , получим

 

z2(β) z1(β) = (z2(α) z1(α)) · e αβ fy (x,y¯(x)),

(12.19)

где y¯(x) заключено между z1(x) и z2(x) .

 

Что и требовалось доказать.

 

Введем в рассмотрение разность

 

ωj (x) = yj−1(x) − yj (x)

(12.20)

двух решений уравнения (12.1), для которой с учетом только что доказанной Леммы справедливо равенство

 

(x) =

yj−1(x) − yj (x)

= (y

 

(x )

 

 

j (xj )) · e

x

fy (ψ,y¯j (ψ)) =

ωj

j−1

y

xj

 

x

 

j

 

 

 

 

 

= ωj (xj ) · e xj

fy (ψ,y¯j (ψ))

 

 

(12.21)

Точно так же с учетом (12.5)

y(xn) − y0(xn) = (y(x0) − y0(x0))

= R · e xn fy (ψ,y¯0(ψ))

0 x0

· e xn fy (ψ,y¯0(ψ)) =

x0

(12.22)

90