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

Численные методы в информационных системах. Учебное пособие

.pdf
Скачиваний:
2
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
Тема 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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]