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

Мет выч методичка

.pdf
Скачиваний:
100
Добавлен:
21.05.2015
Размер:
1 Мб
Скачать
☆

выходящей из точки (xk; yk).

Неявный метод Эйлера состоит в приближении производной в окрестности i-го узла с помощью левой разности

yi yi 1

= fi; i = 0; 1; :::; y0 = A

h

 

Очевидно, что в этом методе искомая величина yi входит в уравнение в общем случае нелинейным образом. Поэтому необходимо применять известные методы решения нелинейных уравнений.

Можно показать, что явный и неявный метод – методы первого порядка точности. Т.е., погрешность в точке xi

i = y(xi) yi

равная разности между точным значением искомой функции y(xi) и значением сеточной функции в узле

i . h:

Можно построить другие методы решения задачи Коши. Например, приблизим производную в окрестности i-го узла с помощью

101

центральных разностей:

 

yi+1 yi 1

= fi; i = 0; 1; :::; y0 = A

2h

 

Полученная система уравнений не замкнута – необходимо доопределить y1, что можно сделать с помощью метода Эйлера

y1 = y0 + hf(x0; y0):

Можно показать, что построенная схема имеет второй порядок точности.

Рассмотрим модифицированный метод Эйлера. Запишем систему уравнений

yi+1 yi

= fi+1=2;

i = 0; 1; :::;

y0 = A

h

 

 

 

 

 

 

 

 

 

 

 

где

 

 

 

 

 

 

h

 

 

 

 

f

= f(x

 

; y

 

) = f(xi +

 

; y

 

);

i+1=2

i+1=2

 

i+1=2

i+1=2

 

 

 

2

 

 

 

102

а значение yi+1=2 вычисляем по методу Эйлера

 

yi+1=2 = yi +

h

fi = yi +

h

f(xi; yi); i = 0; 1; :::

 

 

 

 

 

 

2

2

 

 

В результате получаем следующую разностную схему:

 

yi+1 yi

= f(xi +

h

; yi +

h

f(xi; yi));

i = 0; 1; :::; y0 = A

 

h

 

 

 

2

 

 

2

 

 

 

 

которая, как можно показать, имеет второй порядок точности.

7.2 Метод Эйлера с пересчетом (предиктор-корректор)

Предиктор – предсказание результата, корректор – уточнение результата. Заменим правую часть нашего уравнения на среднее значений в соседних узлах:

yi+1 yi

=

1

[f(xi; yi) + f(xi+1; yi+1)] :

(130)

 

 

 

h

2

 

 

 

Как видно, наклон интегральной кривой посередине отрезка [xi; xi+1] приближенно заменяется средним арифметическим наклонов на гра-

103

ницах этого отрезка. Отсюда,

 

yi+1

= yi +

h

[f(xi; yi) + f(xi+1; yi+1)] :

(131)

 

 

2

 

 

Искомое значение yi+1 входит и в правую сторону тоже, и его нельзя в общем случае выразить явно. Но его можно найти по формуле метода Эйлера:

 

 

 

yi+1 = yi + hf(xi; yi) – предиктор

(132)

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

 

yi+1

= yi +

h

[f(xi; yi) + f(xi+1; (yi + hf(xi; yi)))]

– корректор.

 

 

2

 

(133)

 

 

 

 

7.3 Методы Рунге-Кутта

Рассмотренные ранее метод Эйлера и его модификация относятся к классу методов Рунге – Кутта. Суть методов – для вычисления yi+1

104

используется yi, а также значения функции f(x; y) в некоторых специальных точках. Широко распространен метод Рунге-Кутта четвертого порядка. Алгоритм этого метода имеет вид

yi+1

= yi +

h

(k0 + 2k1 + 2k2 + k3);

 

i = 0; 1; :::

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

hk

0

 

k0 = f(xi; yi); k1 = f xi +

 

 

; yi

+

 

 

 

2

2

 

 

 

 

h

hk

 

 

 

 

 

 

 

k2 = f xi +

 

; yi +

 

 

1

 

 

 

 

 

 

 

2

2

 

 

 

 

 

 

 

k3 = f(xi + h; yi + hk2)

7.4 Многоточечные методы

Многоточечные или многошаговые методы решения задачи Коши отличаются тем, что решение в текущем узле зависит от данных не только в одном предыдущем узле, но и в ряде предшествующих.

105

Такие методы можно строить, используя метод неопределенных коэффициентов. Для этого запишем разностное соотношение для i-

го узла в виде

 

 

a

y

+ a

y

+ ::: + amy

 

 

0

i

1

 

i 1 h

i m

= b0fi + b1fi 1 + ::: + blfi l: (134)

 

 

 

 

Коэффициенты ai и bi подбираются так, чтобы получить аппрок-

симацию с нужным порядком точности. Если a0 = a1

= 1, a2 =

::: = am = 0, то получаем методы Адамса. Уравнение y0 = f(x; y)

эквивалентно интегральному соотношению

 

xi+1

 

yi+1 yi = Z

f dx :

(135)

xi

Если решение в узлах вплоть до i-го уже вычислено, то по известным значениям fi = f(xi; yi) можно интерполировать подинтегральную функцию полиномами различной степени. Далее вычисляя интеграл от выбранного интерполяционного полинома, получаем фор-

106

мулы Адамса.

Приближая функцию f на отрезке [xi; xi+1] полиномом в форме

Ньютона

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f = f +

fi fi

 

1

(x

 

x

)+

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

i

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

fi 2fi 1 + fi 2

(x

 

x

)(x

 

x

i 1

) + ::: (136)

 

 

 

 

 

 

 

2h2

 

i

 

 

 

и учитывая первые два слагаемых при вычислении интеграла, поучаем метод Адамса второго порядка точности

yi+1 yi

=

3

f

i

1

f

i 1

:

(137)

h

 

 

 

2

2

 

Учитывая в (136) три слагаемых приходим к методу третьего порядка точности

yi+1 yi

=

 

1

(23f

i

16f

i 1

+ 5f

):

(138)

h

12

 

 

 

i 2

 

и случае четырех слагаемых в (136) метод Адамса четвертого поряд-

107

ка

yi

 

 

 

 

 

 

 

 

 

 

 

yi+1

=

 

1

(55f

59f

+ 37f

i 2

9f

):

(139)

 

h

24

 

 

i

i 1

 

i 3

 

Метод Адамса по сравнению с методом Рунге-Кутты требует меньших затрат при нахождении очередного значения yi+1, т.к. требуется найти лишь fi, а fi 1,...,fi 3 уже известны к этому моменту, а по формула Рунге-Кутты на каждом шаге надо находить четыре значения f.

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

108