Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Численные методы в информационных системах. Учебное пособие
.pdf
Тема 7. ПРИБЛИЖЕННОЕ ВЫЧИСЛЕНИЕ
ОПРЕДЕЛЕННЫХ ИНТЕГРАЛОВ
b
Вычисление определенных интегралов вида
замене подынтегральной функции интерполяционным полиномом
(x) по некоторой системе узлов и вычислении интеграла от интерпо-
P
n
лянта
b
a
b
≈
∫∫
a
.)()(
dxxPdxxf
n
Получаемые таким образом формулы численного интегрирования
называются квадратурными и имеют вид
b
∫
a
– узлы квадратурных формул xi∈[a, b], i = 0, 1, 2, ..., n; Ci – коэф-
где x
i
фициенты
∑
i
=
n
−=
abC
.
i
0
n
≈
∑
i
xfCdxxf ,)()(
=
ii
0
Конкретные квадратурные формулы различаются выбором узлов
и значениями коэффициентов.
Квадратурные формулы Ньютона–Котеса. Эти формулы получе-
ны путем кусочно-многочленной интерполяции по равноотстоящим узлам. При интерполировании полиномом нулевого порядка, совпадающим
с функцией в одной точке, получим формулы прямоугольников:
b
∫
a
abh−
где
=
x
i
x
i
x
i
;
n
= a + ih – формула левых прямоугольников;
= a + (i + 1)h – формула правых прямоугольников;
= a + (i + 0,5)h – формула средних прямоугольников.
n
≈
∑
=
i
xfhdxxf ,)()(
i
0
При интерполировании по двум узлам a и b полиномом первого
порядка получим формулу трапеций
b
)(
∫
a
−
ab
≈
dxxf )),()((
2
−
bfaf
при произвольном числе узлов интерполирования n получим
dxxf )( основано на
∫
a
41

b
)(
∫
a
hdxxf
n
1
⎛
⎜
⎜
⎝
−
f
0
∑
i
f
1
=
⎞
f
n
⎟
++≈
,
= a + ih, i = 0, 1, 2, ..., n, fi = f(xi).
x
i
i
⎟
22
⎠
Формулы прямоугольников и трапеций имеют следующую геометрическую интерпретацию. Вычисляемый интеграл – это площадь под
кривой f(x). При вычислении по формуле прямоугольников эта площадь
вычисляется как сумма площадей прямоугольников шириной h, высота
которых равна значению функции справа, слева или в середине рассматриваемого интервала. При вычислении по формуле трапеций
площадь
фигуры заменяется суммой площадей прямоугольных трапеций высотой
h с основаниями, равными значениям функции в узлах.
Рис. 5. Вычисление интегралов методами:
а – прямоугольников; б – трапеций
Квадратичная интерполяция позволяет получить формулу Симп-
сона (парабол)
b
dxxf ,)(
)(
∫
a
≈
⎛
ab
−
⎜
⎜
6
⎝
4)(
+
ba
+
⎞
⎛
faf
⎟
⎜
2
⎠
⎝
⎞
⎟
bf
+
⎟
⎠
для произвольного четного числа узлов n = 2m получим составную
формулу
b
∫
a
−
ab
()
≈
dxxf .)...(4)...(2
)(
3
n
+++++++++
ffffffff
nnn
−−
1312420
Используя кубическую интерполяцию по четырем точкам, можно
получить формулу Ньютона (или трех восьмых)
b
)(
∫
a
⎛
3
⎜
3)()(
⎜
8
⎝
−
ab
⎛
⎛
⎜
⎝
⎞
++−≈
afafabdxxf .)()(
3
⎜
⎟
3
⎝
⎠
2
−++
3
⎞
⎞
⎟
+
bfabaf
⎟
⎠
⎟
⎠
Составную формулу трех восьмых можно получить при числе уз-
лов, кратном трем, т.е. n = 3m
42

−
′′′
′
b
∫
a
3
h
)(
dxxf
8
()(
())
...3
....2
ffff
++++
363
nn
−
fffffff
++++++++≈
1254210
nn
−−
Методическая погрешность формул численного интегрирования
определяется интегралом от погрешности интерполирования и для
приведенных формул оценивается соотношениями:
для формулы прямоугольников
abR−
||
≥
2
24
|;"|
fh
max
для формулы трапеций
abR−
||
≥
2
12
|;"|
fh
max
для формулы парабол
ab
3
||
R
≥
12
max
′′′
Rfh
ab
−
4
′′′′
|||;|
≥
180
fh
max
|;|
для формулы трех восьмых
ab
−
4
′′′′
fh
max
|,|
где
f
′′
max
||
R
≥
2880
′′′
,
f
,
f
max
– максимальные значения производных на ин-
max
тервале интегрирования [a, b].
При практическом использовании формул численного интегрирования следует учитывать, что к методической погрешности, которая
убывает с уменьшением шага, прибавляется еще и погрешность вычислений, которая увеличивается при увеличении числа шагов, поэтому для
уменьшения общей погрешности следует выбирать некоторый оптимальный шаг.
Вначале вычисляют интеграл I
уменьшают вдвое и получают значение интеграла I
удовлетворяет требованиям точности |I
Обычно для выбора шага используют двойной пересчет.
с некоторым шагом h, а затем шаг
n
– I2n| ≤ ε, то вычисления пре-
n
. Если разница
2n
кращают, в противном случае продолжают дробить шаг. Общую погрешность вычислений в этом случае можно оценить соотношениями:
для метода трапеций
−
Δ ≈ |I
– I2n|/3;
n
для метода парабол
−
Δ ≈ |I
– I2n|/15.
n
Аналогично можно получить формулы Ньютона–Котеса высших
порядков, однако, при увеличении степени интерполирования в формулах будут встречаться как положительные, так и отрицательные
коэффициенты, превосходящие по абсолютной величине сколь угодно
43

большое число, что приведет к большим вычислительным погрешностям. Поэтому формулы Ньютона–Котеса со степенью более трех на
практике не используются.
Квадратурные формулы типа Гаусса. Если по условиям задачи
имеется право выбора узлов квадратурной формулы, то для вычисления интеграла применяют квадратурные формулы типа Гаусса (формулы наивысшей алгебраической точности). Эти формулы имеют вид
Коэффициенты A
b
∫
a
и узлы xi квадратурных формул выбираются
i
n
≈
∑
=
0
i
xfAdxxfxp .)()()(
ii
так, чтобы приближенное равенство (2) было бы точным для всех многочленов наивысшей возможной степени. Квадратурные формулы типа Гаусса степени n будут точными для всех полиномов степени не
выше 2n – 1, тогда как формулы Ньютона–Котеса точны только для
полиномов степени не выше n.
Рассмотрим некоторые частные случаи.
Квадратурная формула Гаусса
+
1
∫
−
1
n
≈
∑
i
=
0
)()(
xfAdxxf
ii
получена с весовой функцией, равной единице p(x) ≡ 1 и узлами x
являющимися корнями полиномов Лежандра
nn
2
−
xd
)1(
.
2
dx
i = 0, 1, 2, ..., n.
,
Коэффициенты A
A
=
i
n
легко вычисляются по формуле
i
n
n
!2
1
=
xP
)(
2
2
[]
−
2
′
)()1(
xPx
ini
Значения узлов и коэффициентов для n = 2, 3, 4, 5 приведены в
таблице
Порядок Узлы Коэффициенты
n = 2 x1 = 0
= –x2 = 0,7745966692
x
0
n = 3 x2 = –x1 = 0,3399810436
= –x0 = 0,8611363116
x
n = 4 x
3
= 0
2
x
= –x1 = 0,5384693101
3
= –x0 = 0,9061798459
x
4
n = 5 x5 = –x0 = 0,9324695142
x
= –x1 = 0,6612093865
4
= –x2 = 0,2386191861
x
3
A
= 8/9
1
= A2 = 5/9
A
0
A
= A2 = 0,6521451549
1
= A3 = 0,6521451549
A
0
A0 = 0,568888899
A
= A1 = 0,4786286705
3
= A4 = 0,2869268851
A
0
A5 = A0 = 0,1713244924
A
= A1 = 0,3607615730
4
= A2 = 0,4679139346
A
3
,
i
44

При необходимости вычислить интеграл с другими пределами,
b
dxxf )( следует сделать замену переменных
∫
a
ab
−
t
=
ba
+
тогда
x
+
,
22
формула примет вид
b
)(
dxxf
∫
a
≈
Квадратурная формула с весовой функцией
n
ab
∑
=
0
i
ab
−−
⎛
fA
x
⎜
⎝
ba
+
⎞
+
ii
.
⎟
222
⎠
1
=
)(
имеет
2
1
xxp−
вид
+
1
)(
xf
≈
∫
−
1
dx
2
−
1
x
n
π
∑
−
1
n
i
)(
xf
i
0
=
и называется формулой Мелера. Ее особенность в том, что все коэффициенты равны π/(n – 1), а в качестве узлов x
используются корни
i
многочленов Чебышева
12
+
i
cos π
=
x
i
.
)1(2
−
n
При вычислении несобственных интегралов используют специ-
b
альные приемы. Например, несобственный интеграл
∫
a
dxcxf )(
подын-
тегральной функцией, стремящейся к бесконечности в точке, принадлежащей интервалу интегрирования f(x)→∞ при x→c, c∈[a, b], можно
приближенно вычислить, вырезав из него некоторый участок с особенностью
b
c
∫∫∫
a
δ−
a
b
+≈
dxxfdxxfdxxf .)()()(
δ+
c
Значение δ должно быть таким, чтобы обеспечивалось неравенство
δ+δ−c
∫
c
ε
где ε – требуемая точность, а интегралы в формуле (3)
)(
,
≤
dxxf
2
должны вычисляться с точностью ε/4 каждый.
Другим приемом, позволяющим вычислить несобственный интеграл, является использование квадратурных формул с такой весовой
функцией, чтобы особенность содержалась в весовой функции. Например, при вычислении интеграла
45

1
x
e
dx
∫
−
1
−
1
2
x
имеются особенности в точках x = 1, x = –1. Для вычисления этого интеграла удобно использовать формулу Мелера
+
12
1
x
e
∫
−
1
−
1
=
dx
x
2
n
π
∑
−
1
n
=
i
так как в правой части равенства присутствует функция e
i
cos
e
0
π
−
)1(2
n
,
x
, не имею-
щая особенностей.
При вычислении несобственных интегралов с бесконечным пределом выполняют его усечение
∞
∫∫
a
b
≈
dxxfdxxf ,)()(
a
параметр b выбирают так, чтобы выполнялось неравенство
∞
∫
b
ε
)(
dxxf
,
≤
2
а интеграл в формуле (4) должен быть вычислен с точностью ε/2.
Для кратных интегралов используют повторное применение
квадратурных формул. Например, для двойного интеграла
dcb
=
∫∫
a
dxdyyxfI ),(
можно записать
dcb
⎛
⎜
=
⎜
a
⎝
d
где
=
∫
c
двукратному интегрированию
d
b
∫∑∑∫
c
a
где C
, CJ – коэффициенты квадратурных формул, применяемых для
i
,),()(
dyyxfxF
т.е. вычисление такого интеграла сводится к
m
n
≈
i
==
00
j
i
b
⎞
⎟
=
∫∫∫
⎟
a
⎠
yxfCCdxdyyxf
),,(),(
jij
,)(),(
dxxFdxdyyxfI
∈∈
ji
],,[],,[ dcybax
интегрирования по x и по y. Заметим, что такой подход возможен, если
область интегрирования имеет форму прямоугольника.
В случае когда область интегрирования G имеет произвольную
форму можно использовать метод Монте–Карло, основанный на применении случайных чисел.
46

≤αα
α
βα=
Пусть необходимо вычислить интеграл по области G
,),(
∫∫
G
dxdyyxf
и пусть известна некоторая оценка подынтегральной функции
0 < f(x, y) < B при x, y∈G.
Искомый интеграл равен объему тела, ограниченного снизу плоскостью z = 0, сверху поверхностью z = f(x, y), и с боков цилиндром (x,
y) ∈Г(G), где Г(G) – граница области G. Заключим область G в прямоугольник
a ≤ x ≤ b, c ≤ y ≤ d, тогда тело будет содержаться внутри па-
раллелепипеда a ≤ x ≤ b, c ≤ y ≤ d, 0 ≤ z ≤ B. Возьмем три независимых
последовательности равномерно распределенных случайных чисел
;;,...,
ba
21
21
21
Составим последовательность случайных точек
≤α
in
;;,...,
dc
≤β≤βββ
in
.0;,...,
Byyyy
≤≤
in
).,,(
yt
iiii
Все эти n точек будут принадлежать параллелепипеду, а некоторое их
число m будет принадлежать объему искомого тела, это те точки, для
которых выполняются неравенства
fy βα≤ при условии, что .),( Gii∈βα
),(
iii
При достаточно большом n можно считать, что объем искомого
тела относится к объему параллелепипеда как m/n и интеграл можно
вычислить по формуле
∫∫
dxdyyxf .))((),(
G
m
n
−−≈
Bdcab
Вопросы для самопроверки
1. На чем основан процесс вычисления определенных интегралов?
2. Что положено в основу построения квадратурных формул
Ньютона–Котеса?
3. Приведите графическую интерпретацию формул прямоуголь-
ников и трапеций.
4. Какая интерполяция позволяет получить формулу Симпсона?
5. Как определяется методическая погрешность формул числен-
ного интегрирования?
6. Расскажите об особенностях практического использования
формул численного интегрирования.
7. Расскажите,
при каких условиях целесообразно использовать
квадратурные формулы типа Гаусса.
8. Расскажите о подходах, которые используются при вычислении
кратных интегралов.
47

Тема 8. МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ КОШИ
Задача Коши для дифференциального уравнения первого порядка
ставится следующим образом. Найти функцию y(x), удовлетворяющую
дифференциальному уравнению
y' = f(x, y), (1)
и начальным условиям
) = y0. (2)
y(x
0
Будем искать приближенное решение этой задачи на конечном
множестве точек отрезка [a, b], называемом сеткой:
= x0 + ih, x0 = a, xn = b,
x
i
h = (b – a)/n, i = 0, 1, 2, ..., n.
Приближенным решением задачи будет некоторая сеточная
функция
y = y (x).
Для получения значений сеточной функции используются различные методы, основанные на замене производной каким-либо разностным уравнением. Рассмотрим некоторые из них более подробно.
Метод Эйлера. Заменим производную y' в каждом i-м узле сетки
правой разностью
= (y
y'
i
i + 1 – yi
)/h
и, подставив ее в уравнение (1), получим
(y
– yi)/h = f (x, y).
i + 1
Решив это уравнение относительно y
= yi + hf (xi, yi). (3)
y
i + 1
Поскольку значение y
известно из начальных условий, то по
0
формуле (3) можно последовательно получить значение y
, получим формулу Эйлера
i + 1
во всех уз-
i
лах сетки. Геометрически это обозначает, что искомая интегральная
кривая AB приближается ломаной ACDEF, наклон которой на элемен-
, x
тарном участке [x
уравнения (1), выпущенной из точки (x
] определяется наклоном интегральной кривой
i
i + 1
, yi).
i
Метод Эйлера очень прост в реализации, но имеет невысокую
точность. Он является методом первого порядка точности относительно шага h, а его глобальная погрешность оценивается выражением
– yi*| < const·h = O(h),
| y
i
где y
* – точное значение задачи (1), (2) в точке xi; O(h) – погрешность
i
на одном шаге h.
Усовершенствованный метод Эйлера (метод Эйлера второго
порядка). В этом методе для вычисления функции y(x) в одной точке
требуется дважды вычислить функцию f (x, y)
= yi + hf (xi + h/2, yi + hf (xi, yi)).
y
i + 1
48

A
y
D
C
y
A
0
x
x
0 x1
E
2 x3
F
B
x
Рис. 1. Решение задачи Коши методом Эйлера
Погрешность этого метода пропорциональна h2, т.е.
– yi*| < O (h2).
|y
i
Метод Эйлера–Коши также относится к методам второго поряд-
ка и тоже требует двукратного вычисления функции f (x, y)
0
y
= yi + hf (xi, yi); (4)
1
+i
y
= yi + (f (xi, yi) + f (x
i + 1
0
,
y )) h/2. (5)
i + 1
+i
1
Методы Эйлера относятся к группе с общим названием метода
Рунге–Кутта, к этой же группе принадлежит и метод, называемый методом Рунге–Кутта четвертого порядка. Согласно этому методу, для
вычисления одного значения функции y(x) необходимо вычислить
функцию f(x, y) в четырех точках:
= h f (xi, yi);
k
1i
= h f (xi + h/2, yi + K
k
2i
k
= h f (xi + h/2, yi + K
3i
= h f (xi + h, yi + K3i);
k
4i
y
i + 1
= yi + (K
+ 2K2i + 2K3i + K4i)/6.
1i
Погрешность этого метода пропорциональна h
– yi*| < O(h4).
|y
i
1i
2i
/2);
/2);
4
, т.е.
Методы Рунге–Кутта относятся к так называемым одношаговым
методам, поскольку для вычисления значения функции y(x) в точке
требуется знать только значение функции y(x) в одной предыду-
x
i + 1
щей точке x
.
i
Многошаговые методы, называемые также методами Адамса, построены путем интерполирования по нескольким соседним точкам, для
их использования необходимо знать значение функции y(x) в нескольких предыдущих точках. Достоинство многошаговых методов состоит
в том, что независимо от порядка метода, для вычисления значения
49

(
)
(
()(
)
функции y(x) в одной точке требуется один раз вычислить функцию
f(x, y).
Метод Адамса второго порядка записывается следующим обра-
зом:
где y'
= f (xi, yi).
i
= yi + h(3y'i – y'
y
i + 1
i – 1
)/2,
Методы Адамса третьего и четвертого порядков имеют вид
= yi + h (23y'i – 16y'
y
i + 1
y
= yi + h (55y'
i + 1
i –
59y'
i – 1
i – 1
– 5y'
+ 37y'
i – 2
i – 2 –
)/12 ;
9y'
i – 3
)/24.
Погрешность решения найденного многошаговым методом оценивается равенством |y
– yi* | < O (hm), где m – порядок метода.
i
Таким образом, метод Рунге–Кутта четвертого порядка и метод
Адамса четвертого порядка имеют одинаковую оценку погрешности,
но метод Адамса требует примерно вчетверо меньшего объема вычислений.
При получении формулы Эйлера (3) была использована замена
производной правой конечной разностью y'
зовать левую конечную разность y'
– y
y
i
в которое искомая величина y
= (yi – y
i
– h·f(xi, yi) = 0,
i – 1
входит нелинейным образом. Для ре-
i
= (y
i
i – 1
– yi)/h, если исполь-
i + 1
)/h, получим уравнение
шения такого уравнения можно использовать итерационные методы.
)0(
Задавая начальное приближение
значение y
по формуле
i
)1(
k
+
i
=iiyy и последовательно уточняя
1
−
)(
k
,
yxhfyy +=
−
1
,
iii
получаем неявный метод Эйлера (или метод Эйлера с итерационной
обработкой). Итерации выполняют до тех пор, пока не выполнится
условие
)(
)(
k
i
1ki
ε<−
yy .
++
1
Если после 3–4-х итераций требуемая точность ε не достигается,
то производится уменьшение шага.
Неявную схему можно применить и для методов высших порядков,
при этом получаются так называемые методы прогноза и коррекции.
Метод Эйлера–Коши (4)–(5) можно рассматривать как один из
простейших методов типа прогноза и коррекции, согласно которому
вначале вычисляется грубое
приближение
)0(
y по методу Эйлера, а
+i
1
затем оно используется для уточнения по формуле (5), причем коррекция может быть использована многократно
+
)1(
k
1
i
+
)
++= .
)(
k
2,,
+
1
iiii
hyxfyxfyy
1
i
+
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
