ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.01.2021
Просмотров: 427
Скачиваний: 1

21
Обрывая ряд на том или ином слагаемом, получаем формулы, обладающие
различной точностью. Если ограничиться только одним слагаемым в правой
части, получим уже известную формулу Эйлера:
)
(
2
'
1
h
O
hy
y
y
n
n
n
+
+
=
+
.
Учет двух слагаемых в правой части дает:
)
(
)
3
(
2
3
'
1
'
1
h
O
y
y
h
y
y
n
n
n
n
+
-
+
=
-
+
.
Для трех слагаемых:
)
(
)
5
16
23
(
12
4
'
2
'
1
'
1
h
O
y
y
y
h
y
y
n
n
n
n
n
+
+
-
+
=
-
-
+
,
для четырех:
)
(
)
9
37
59
55
(
24
5
'
3
'
2
'
1
'
1
h
O
y
y
y
y
h
y
y
n
n
n
n
n
n
+
-
+
-
+
=
-
-
-
+
,
и т.д. Эти формулы называются
экстраполяционными формулами Адамса.
При расчете по экстраполяционным формулам Адамса на каждом шаге
(кроме первого) значение функции
)
,
(
'
y
x
f
y
=
вычисляется только в одной
точке
n
x
(
'
0
'
1
,...,
y
y
n
-
получены на предыдущих шагах). Однако на первом шаге
необходимо знать значения
'
y
(а следовательно, значения
y
) в нескольких
точках:
n
y
y
y
,...,
,
1
0
. Например, чтобы начать счет по формуле Адамса,
имеющей точность
)
(
3
h
O
, необходимо знать
0
y
и
1
y
; по формуле Адамса,
имеющей точность
)
(
4
h
O
-
1
0
,
y
y
и
2
y
. Обычно эти значения
i
y
находят
другим методом, например, методом Рунге-Кутта, для которого необходимо
лишь
0
y
, известное по условию. Таким образом, метод Адамса, как говорят, не
является самоначинающимся.
Рассмотренные нами формулы Адамса называются экстраполяционными,
так как интерполяционный полином для подынтегральной функции строился по
точкам
0
,...,
x
x
n
, а использовался на отрезке
[
]
1
,
+
n
n
x
x
(т.е. за отрезком
интерполяции). Обычно точность экстраполяции ниже, чем собственно
интерполяции. Для повышения точности можно поступить следующим
образом. Интерполяционный многочлен строим не по точкам
,...
,
,
2
1
-
-
n
n
n
x
x
x
, а
по точкам
,...
,
,
1
1
-
+
n
n
n
x
x
x
(т.е. за начальную точку интерполяционного
многочлена принимаем не
n
x
, а
1
+
n
x
). В результате получим
интерполяционную формулу Адамса
:
-
+
-
-
-
-
=
-
-
+
+
+
+
)
2
(
12
)
(
2
'
1
'
'
1
'
'
1
'
1
1
n
n
n
n
n
n
n
n
y
y
y
h
y
y
h
hy
y
y

22
...
)
3
3
(
24
'
2
'
1
'
'
1
-
-
+
-
-
-
-
+
n
n
n
n
y
y
y
y
h
.
Учет в правой части этого выражения различного количества слагаемых,
приводит к интерполяционным формулам Адамса, имеющим различную
точность:
)
(
2
'
1
1
h
O
hy
y
y
n
n
n
+
+
=
+
+
,
)
(
)
(
2
3
'
'
1
1
h
O
y
y
h
y
y
n
n
n
n
+
+
+
=
+
+
,
)
(
)
8
5
(
12
4
'
1
'
'
1
1
h
O
y
y
y
h
y
y
n
n
n
n
n
+
-
+
+
=
-
+
+
,
)
(
)
5
19
9
(
24
5
'
2
'
1
'
'
1
1
h
O
y
y
y
y
h
y
y
n
n
n
n
n
n
+
+
-
+
+
=
-
-
+
+
.
Точность интерполяционных формул выше, чем экстраполяционных.
Однако их непосредственное использование невозможно, так как для
вычисления
1
+
n
y
с их помощью необходимо знать
)
,
(
1
1
'
1
+
+
+
=
n
n
n
y
x
f
y
, которое
еще неизвестно. Поэтому на практике обычно экстраполяционные и
интерполяционные формулы используют совместно. Такой способ решения
дифференциальных уравнений называется
методом прогноза-коррекции
. Суть
его в следующем. Сначала в качестве прогноза (нулевое приближение)
используется экстраполяционная формула, с помощью которой вычисляется
)
0
(
1
+
n
y
, а затем
)
,
(
)
0
(
1
1
'
1
+
+
+
=
n
n
n
y
x
f
y
. Полученное значение
'
1
+
n
y
применяется в более
точной интерполяционной формуле и вычисляется
)
1
(
1
+
n
y
уже в первом
приближении, после чего вновь рассчитывается
)
,
(
)
1
(
1
1
'
1
+
+
+
=
n
n
n
y
x
f
y
. Далее
1
+
n
y
можно снова уточнить по интерполяционной формуле, получив
)
2
(
1
+
n
y
. И так
далее. Таким образом, коррекция проводится с помощью итерационного
процесса, на каждом шаге которого контролируется относительная ошибка:
)
(
1
)
1
(
1
)
(
1
m
n
m
n
m
n
y
y
y
+
-
+
+
-
=
d
,
где
m
нумерует итерации. Когда
d
становится меньше заранее заданной малой
величины
e
, процесс прекращается.

23
Методы Рунге-Кутта и Адамса легко распространяются на системы
дифференциальных уравнений 1-го порядка.
4.2. Численные методы решения дифференциальных уравнений
высших порядков
Дифференциальные уравнения высших порядков могут быть сведены к
системе дифференциальных уравнений 1-го порядка. Например, уравнение
k
-го
порядка
)
,...,
''
,'
,
,
(
)
1
(
)
(
-
=
k
k
y
y
y
y
x
f
y
эквивалентно системе
k
уравнений 1-го порядка:
ï
ï
ï
î
ïï
ï
í
ì
=
=
=
=
-
-
-
-
)
,...,
,
,
,
(
,
........
..........
,
,
'
1
2
1
'
1
1
'
2
2
'
1
1
k
k
k
k
y
y
y
y
x
f
y
y
y
y
y
y
y
с
k
неизвестными функциями
1
2
1
,...,
,
,
-
k
y
y
y
y
. Поэтому на уравнения высших
порядков можно перенести все рассмотренные методы решения систем
уравнений 1-го порядка. Однако для решения уравнений высших порядков
существуют и специальные методы. В первую очередь это относится к
уравнениям 2-го порядка (уравнения более высоких порядков обычно сводят к
системе уравнений 1-го порядка). Одним из наиболее популярных методов
решения дифференциальных уравнений 2-го порядка является
метод
Нумерова
.
Рассмотрим обыкновенное дифференциальное уравнение вида
y
x
g
y
)
(
''
=
.
Как и ранее, будем искать его решение в равномерной сетке точек
N
x
x
x
,...,
,
1
0
с
шагом
h
. Значения функции
)
(
x
g
известны:
N
N
g
x
g
g
x
g
g
x
g
=
=
=
)
(
,...,
)
(
,
)
(
1
1
0
0
.
Разложим
)
(
x
y
в ряд Тейлора вблизи точки
n
x
:
...
!
4
!
3
!
2
)
(
)
(
4
'''
3
''
2
'
+
+
+
+
+
=
+
IV
n
n
n
n
n
n
y
y
y
y
y
x
y
x
x
x
x
x
Тогда при
h
=
x
получим:

24
...
!
4
!
3
!
2
)
(
4
'''
3
''
2
'
1
+
+
+
+
=
-
+
IV
n
n
n
n
n
n
y
h
y
h
y
h
hy
y
y
При
h
-
=
x
...
!
4
!
3
!
2
)
(
4
'''
3
''
2
'
1
-
+
-
+
-
=
-
-
IV
n
n
n
n
n
n
y
h
y
h
y
h
hy
y
y
Сложим два последних равенства:
)
(
12
2
6
)
(
4
''
2
1
1
h
O
y
h
y
h
y
y
y
IV
n
n
n
n
n
+
+
=
+
-
-
+
. (4.13)
Если в правой части этого выражения оставить только первое слагаемое,
получим следующую формулу численного интергирования дифференциальных
уравнений 2-го порядка:
n
n
n
n
n
y
g
h
y
y
y
2
1
1
2
=
+
-
-
+
,
или
1
2
1
)
2
(
-
+
-
+
=
n
n
n
n
y
g
h
y
y
,
точность которой
)
(
4
12
IV
n
y
h
. Очень часто такой точности недостаточно.
Если учесть следующий член разложения (4.13), точность формулы
повысится и будет порядка
)
(
6
VI
n
y
h
. Чтобы получить формулу с такой
точностью, необходимо вычислить
)
(
IV
n
y
. Для этого возьмем 2-ую производную
выражения (4.13) и умножим ее на
12
2
h
:
)
(
144
12
)
2
(
12
8
)
(
6
)
(
4
''
1
''
''
1
2
h
O
y
h
y
h
y
y
y
h
VI
n
IV
n
n
n
n
+
+
=
+
-
-
+
.
В правой части оставим только первое слагаемое (точность формулы при этом
будет
~
)
(
6
IV
n
y
h
). Полученное выражение подставим в (4.13) и опустим в нем все
члены степени
)
(
6
IV
n
y
h
и выше. Это даст:
)
(
)
2
(
12
2
6
''
1
''
''
1
2
''
2
1
1
h
O
y
y
y
h
y
h
y
y
y
n
n
n
n
n
n
n
+
+
-
+
=
+
-
-
+
-
+
. (4.14)
Исключим из (4.14) вторые производные с помощью равенства
n
n
n
y
g
y
=
''
и
после несложных преобразований получим:
ú
û
ù
ê
ë
é
-
-
+
-
=
-
-
+
+
)
12
1
(
)
12
5
1
(
2
12
1
1
1
2
1
2
1
2
1
n
n
n
n
n
n
g
h
y
g
h
y
g
h
y
. (4.15)

25
Формула (4.15) называется
формулой Нумерова
. Ее остаточный член равен
240
)
(
6
IV
n
y
h
.
Метод Нумерова очень точен, удобен и устойчив. Для начала счета по
этой формуле необходимо знать
0
y
и
1
y
. На их основе вычисляют
2
y
; через
1
y
и
2
y
-
3
y
и т.д.
Метод Нумерова широко применяется для решения радиального уравнения
Шредингера:
)
(
)
(
)
1
(
)
(
2
2
2
r
P
E
r
P
r
l
l
r
V
dr
P
d
l
l
l
l
=
úû
ù
êë
é
+
+
+
-
.
Его можно представить в виде:
)
(
)
(
''
r
P
r
g
P
l
l
l
=
,
где
2
)
1
(
)
(
)
(
r
l
l
E
r
V
r
g
l
l
+
+
-
=
.
Начальные условия для решения уравнения Шредингера строятся из
физических соображений.
4.3. Решение краевых задач для обыкновенных дифференциальных
уравнений. Метод прогонки
Под краевой задачей понимают нахождение решения уравнения
0
)
,...,
''
,'
,
,
(
)
(
=
k
y
y
y
y
x
F
, (4.16)
где
b
x
a
£
£
, а функция
)
(
x
y
на концах отрезка
[ ]
b
a
,
удовлетворяет
граничным условиям:
0
))
(
),...,
(
''
),
(
'
),
(
(
)
1
(
=
-
a
y
a
y
a
y
a
y
k
i
j
, (4.17)
0
))
(
),...,
(
''
),
(
'
),
(
(
)
1
(
=
-
b
y
b
y
b
y
b
y
k
j
y
, (4.18)
i
= 1, 2, ... ,
L
,
j
=
L
+1,
L
+2, ... ,
k
.
Если уравнения (4.16) - (4.18) линейны относительно
),
(
x
y
),
(
'
x
y
... ,
)
(
)
(
x
y
k
, то краевая задача (4.16) - (4.18) называется линейной.
Среди краевых задач, возникающих на практике, существенную часть
составляют линейные уравнения второго порядка, методы решения которых мы