Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы научных вычислений. Введение в численные методы для физиков и инженеров
.pdf
5.5. Многомерное интегрирование 121
сособенностьюln(x) вточкеx =0.Будемиспользоватьформулу(5.14)
сдвумяузламиивесами(M =2), и для данного интеграла она имеет
вид
где w
I ≈ I
2
и zmравны (смотри Таблицу A9 в Приложении A):
m
z
=0.112009,w
1
=0.602277,w
z
2
= −
2
m=1
w
1+z
m
,
m
=0.718539,
1
=0.281461.
2
Вычисление даёт следующий результат: I
ной ошибкой e
= I − I2≈−6.4 · 10−4. Этот пример демонстрирует,
2
≈−0.821826,сабсолют-
2
что формулы Гаусса–Кристоффеля позволяют довольно точно вычислять
интегралы от функций с особенностями, даже если используется всего
несколько узлов.
Другой способ интегрирования функций с особенностями требует
некоторых предварительных преобразований исходного интеграла. Если
мы можем выделить особенность и затем вычислить интеграл от неё
точно или приближённо, тогда проблема сводится к вычислению обыкновенного интеграла. В качестве примера рассмотрим
1
exp(−x)
√
0
x
Так как теперь функция f(x)=(exp(−x)−1)x
dx =
1
dx
√
0
1
exp(−x) −1
+
x
0
√
x
dx =2+
1
exp(−x) −1
√
0
−1/2
вточкеx =0рав-
dx.
x
на нулю и непрерывна на интервале [0, 1], то для вычисления последнего
интеграла можно использовать стандартные формулы интегрирования.
5.5. Многомерное интегрирование
При переходе от задачи вычисления одномерных интегралов к многомерному интегрированию возникает целый ряд новых проблем. В одномерном случае мы имеем три возможных типа области интегрирования:
конечный, полубесконечный и бесконечный интервалы. В многомерном
случае мы сталкиваемся с большим разнообразием областей интегрирования. В дополнение, подынтегральная функция может иметь особенность не только в точке, но также во множествах точек, таких как,

122 Глава 5
например, интервал, плоскость и т.д. Поэтому вычисление многомерных
интегралов представляет собой значительно более сложную задачу по
сравнению с одномерным случаем.
Для таких областей, как квадрат, куб, цилиндр и т. д., которые представляют собой декартовы произведения областей более низкой размерности, можно построить формулы интегрирования, «перемножая» формулы для вычисления интегралов более низкой размерности (правило
перемножения). Так, если
b
f(x) dx ≈
a
N
n=1
wnf(xn)
есть одномерная формула интегрирования, то
b
b
f(x, y) dx dy ≈
a
a
N
n=1
L
wnwmf(xn,xm)
m=1
даёт формулу для вычисления двумерного интеграла. Однако такие методы не всегда самые эффективные. В этом параграфе мы рассмотрим
более универсальный подход к вычислению многомерных интегралов,
который, в частности, включает в себя и правило перемножения.
Вначале рассмотрим интегрирование по квадратной области S =
= {−1 r 1, −1 s 1} наплоскости,инашазадача—построить
кубатурную формулу для вычисления интеграла
1
1
J =
Введём некоторые узлы (r
щие веса w
,...,wLтаким образом, чтобы формула
1
J ≈
была точной для одночленов вида r
f(r, s) dr ds. (5.19)
−1
−1
), (r2,s2),...,(rL,sL) и соответствую-
1,s1
L
wkf(rk,sk) (5.20)
k=1
msm
, n 0, m 0,какможноболее
высокой степени n + m p. Для простоты мы рассмотрим случай L =4

5.5. Многомерное интегрирование 123
(рисунок 5.5). Подставляя функцию f(r, s)=rmsmвформулу(5.20),
получим
1
1
+ w2+ w3+ w4=
w
1
+ w2r2+ w3r3+ w4r4=
w
1r1
w
+ w2s2+ w3s3+ w4s4=
1s1
w
w
w
+ w2r2s2+ w3r3s3+ w4r4s4=
1r1s1
2
r
1
1
2
s
1
1
+ w2r
+ w2s
2
+ w3r
2
2
+ w3s
2
2
+ w4r
3
2
+ w4s
3
−1
dr ds =4,
−1
2
=
4
2
=
4
−1
−1
−1
−1
1
−1
1
−1
1
−1
1
−1
1
rdrds=0,
1
sdrds =0,
1
−1
1
r2dr ds =
1
s2dr ds =
1
rs dr ds =0,
−1
4
,
3
4
3
(5.21)
и так далее.
Если мы наложим некоторые условия на расположение узлов, то
эти уравнения можно упростить. Предположим, что (r
)=(β,γ), (r3,s3)=(β,−γ) и (r4,s4)=(−β,−γ),тогдасисте-
(r
2,s2
)=(−β,γ),
1,s1
ма (5.21) принимает вид:
w
+ w2+ w3+ w4=4,
1
β(−w
γ(w
βγ(−w
β
γ
+ w2+ w3− w4)=0,
1
+ w2− w3− w4)=0,
1
+ w2− w3+ w4)=0,
1
2
(w1+ w2+ w3+ w4)=4/3,
2
(w1+ w2+ w3+ w4)=4/3.

124 Глава 5
s
1
rs
,
rs
,
-1 1
rs
,
rs
,
-1
Рис. 5.5. Расположение узлов кубатурной формулы (5.20) в случае L =4
r
Теперь мы имеем шесть уравнений для шести неизвестных и решение этой системы: β = γ =(1/3)
1/2
и wk=1, k =1,...,4.Тогда
кубатурная формула (5.20) приобретает вид
J ≈ f(−β, β)+f(β, β)+f(β, −β)+f (−β, −β),
β =
1/3.
(5.22)
Это в точности даёт двумерную формулу Гаусса, которая может
быть также получена по правилу перемножения для M =2.Мыможем
расположить узлы и некоторым другим способом, например (r
=(−β, 0), (r
уравнения (5.21), мы получим β =(2/3)
)=(0,β), (r3,s3)=(β, 0) и (r4,s4)=(0, −β).Решая
2,s2
1/2
и wk=1, k =1,...,4,и
1,s1
)=
теперь кубатурная формула (5.20) записывается в виде
J ≈ f(−β, 0) + f (0,β)+f (β, 0) + f(0, −β),
β =
2/3.
(5.23)

5.5. Многомерное интегрирование 125
На основе полученных выше формул построим формулы интегрирования по произвольной прямоугольной области S = {a x b, c
y d}. Вначале разобьём область S на ячейки, вводя сетку с узла-
ми (x
), которая задаётся следующим образом:
n,ym
= a + nhx,hx=
x
n
= c + mhy,hy=
y
m
где h
y y
и hyопределяют размер каждой ячейки Snm={xnxx
x
}. Используя формулы, полученные для интеграла (5.19), и
m+1
сделав замену переменных x =0.5(x
+ y
S
)+0.5hys, мы сначала вычислим интегралы по каждой ячейке
m+1
, а затем просуммируем все полученные значения. В результате мы
nm
b −a
,n=0, ..., N,
N
d −c
,m=0, ..., L,
L
+ x
n
n+1
)+0.5hxr и y=0.5(ym+
придём к следующим формулам:
d
b
I =
=
f(x, y) dx dy =
c
a
N−1
h
xhy
n=0
1
4
L−1
m=0
⎡
f(x
⎢
f(x
⎢
⎢
f(x
⎣
f(x
n+1/2
n+1/2
n+1/2
n+1/2
− 0.5βhx,y
+0.5βhx,y
+0.5βhx,y
− 0.5βhx,y
m+1/2
m+1/2
m+1/2
m+1/2
+0.5βhy)+
+0.5βhy)+
− 0.5βhy)+
− 0.5βhy)
⎤
⎥
⎥
⎥
⎦
на основе кубатуры (5.22) и
d
b
I =
=
f(x, y) dx dy =
c
a
N−1
h
xhy
n=0
1
4
L−1
m=0
⎡
f(x
n+1/2
⎢
f(x
n+1/2,ym+1/2
⎢
⎢
f(x
⎣
n+1/2
f(x
n+1/2,ym+1/2
− 0.5βhx,y
+0.5βhy)+
+0.5βhx,y
− 0.5βhy)
m+1/2
m+1/2
)+
)+
⎤
⎥
⎥
+ e(f)
⎥
⎦
n+1
+ e(f)
, ym
(5.24)
(5.25)
на основе кубатуры (5.23). Точка (x
ячейки и имеет координаты x
= xn+0.5hxи y
n+1/2
n+1/2,ym+1/2
) обозначает центр
= ym+0.5hy.
m+1/2

126 Глава 5
Формулы (5.22) и (5.23) точны для всех одночленов вида xmym, n 0,
m 0, n + m 3. Тогда выражение для ошибки формул (5.24) и (5.25)
можно записать в виде
e(f) ∼ C (max(h
x,hy
))4,
где константа C зависитотчастныхпроизводныхфункцииf (x, y),и
мы предполагаем, что все эти производные непрерывны. Для того чтобы
вычислить интеграл с заданной точностью, мы можем использовать метод, представленный в параграфе 5.2, только теперь I
будет обозначать
k
приближённое значение интеграла, вычисленное при делении области
интегрирования на N
× Lkячеек, где
k
b −a
=
N
k
(k)
h
x
d −c
L
=
k
(k)
h
y
(k)
,h
= hxαk, 0 <α<1,
x
(k)
,h
= hyα
y
k
представляют собой число подынтервалов в направлениях x и y соответственно.
П
РИМЕР 5.6 (ВЫЧИСЛЕНИЕ ДВУМЕРНОГО ИНТЕГРАЛА). Рассмотрим сле-
дующий интеграл:
1
1
I =
dx dy
1+xy
0
0
π
=
12
2
≈ 0.822467.
Для вычисления этого интеграла мы воспользуемся кубатурной
формулой (5.24). Выберем начальный шаг h
= hy= h =1ибудем
x
последовательно уменьшать его в два раза (α =0.5). Результаты вычис-
лений представлены в Таблице 5.3.
Этот пример показывает, что приближённые значения интеграла,
вычисленные по формуле (5.24), сходятся очень быстро к точному значению интеграла.
Используя рассмотренный выше подход, можно построить формулы
интегрирования и для интегралов более высокой размерности. Например,
рассмотрим трёхмерный интеграл
1
1
1
J =
−1
f(r, s, t) dr ds dt.
−1
−1

5.5. Многомерное интегрирование 127
Таблица 5.3.
k число ячеек I
k
ekиз (5.9)
I − I
k
I
0 1 0.822014 5.5072e − 04
1 4 0.822432 3.3877e − 05 4.2592e − 05
2 16 0.822465 2.6510e − 06 2.8275e − 06
В этом случае трёхмерный аналог кубатурной формулы (5.25) имеет
вид
J ≈
f(−1, 0, 0) + f(1, 0, 0) + f (0, −1, 0)+
8
6
f(0, 1, 0) + f(0, 0, −1) + f(0, 0, 1)
.
Тогда формула интегрирования по прямоугольному параллелепипеду
записывается в следующем виде:
p
d
b
I =
o
1
=
6
f(x, y, z) dx dy dz =
c
a
N−1
K−1
k=0
n=0
h
xhyhz
L−1
m=0
⎡
f(x
n
⎢
f(x
n+1
⎢
⎢
⎢
f(x
n+1/2
⎢
⎢
f(x
n+1/2
⎢
⎢
f(x
⎣
n+1/2,ym+1/2
f(x
n+1/2,ym+1/2
,y
m+1/2,zk+1/2
,y
m+1/2,zk+1/2
,ym,z
,y
m+1
k+1/2
,z
k+1/2
,zk)+
,z
)+
)+
k+1
)+
)+
)
⎤
⎥
⎥
⎥
⎥
⎥
+ e(f),
⎥
⎥
⎥
⎦
(5.26)
где
и
x
n+1/2
x
n
y
m
z
k
= xn+
= a + nhx,hx=
= c + mhy,hy=
= o + khz,hz=
1
h
,y
x
2
m+1/2
b −a
N
d −c
L
p − o
K
= ym+
,n=0, ..., N,
,m=0, ..., L,
,k=0, ..., K,
1
h
,z
y
2
k+1/2
= zk+
1
h
.
z
2

128 Глава 5
До сих пор мы обсуждали интегрирование по прямоугольным областям, но рассмотренные выше методы имеют более широкую область
применения. Дело в том, что при помощи подходящей замены переменных некоторые регулярные области могут быть преобразованы в прямоугольные области. В частности, это касается таких областей, как
круг, сфера, эллипс, эллипсоид и цилиндр (более подробная информация
представлена в Приложении B). Например, чтобы вычислить интеграл
по кругу, перейдём в полярные координаты и после преобразования получим
R
2π
x2+y2R
f(x, y) dx dy =
2
rf(r cos ϕ, r sin ϕ) dr dϕ.
0
0
Таким образом, исходный интеграл превращается в интеграл по прямоугольнику 0 r R, 0 ϕ 2π.
Более серьёзная проблема возникает, если нам нужно вычислить
интеграл по некоторой нерегулярной области. Предположим, что дана
область S, показанная на рисунке 5.6, и нам необходимо приближённо
вычислить
f(x, y) dx dy.
S
S
,y
x
l
l
T
y
x
,y
x
m
m
n
x
k,yk
Рис. 5.6. Триангуляция нерегулярной области

5.5. Многомерное интегрирование 129
1
0.9
0.8
0.7
0.6
s
0.5
0.4
0.3
0.2
0.1
0
0 0.2 0.4 0.6 0.8 1
1
0.9
0.8
0.7
0.6
0.5
s
0.4
0.3
0.2
0.1
0
0 0.2 0.4 0.6 0.8 1
T
r
T
r
Рис. 5.7. Узлы интегрирования для стандартного треугольника
При этом появляется дополнительная задача: как представить область S? Наиболее простой способ — приблизить границу S ломаной
линией, а затем представить область S как набор треугольников (смотри рисунок 5.6). Эта процедура называется триангуляцией. Теперь, для

130 Глава 5
того чтобы получить значение интеграла по области S,мыдолжнывычислить объёмы всех прямых треугольных призм, где высоты этих призм
определяются функцией f(x, y).
Прежде чем выводить формулу интегрирования по области S,мы
построим кубатурную формулу для стандартного треугольника T свершинами (0, 0), (0, 1) и (1, 0) (рисунок 5.7). Если применить рассмотренный выше подход (смотри выражения (5.20) и (5.21)), то можно получить
следующие формулы:
1
f(r, s) dr ds ≈
T
6
(f(β
)+f(β2,γ2)+f(β3,γ3)) ,
1,γ1
где
β
=0,β2=0.5,β3=0.5,
1
γ
=0.5,γ2=0.5,γ3=0
1
или
β
=1/6,β2=2/3,β3=1/6,
1
γ
=2/3,γ2=1/6,γ3=1/6.
1
Можнолегкопроверить,чтоприведённаявышеформулаточнадля
одночленов вида 1,x,y,x
2
,xy,y2. Трансформируя стандартный треуголь-
ник, можно получить формулу интегрирования по произвольному треугольнику T
свершинами
n
(n)
,y
(x
k
(n)
k
), (x
(n)
l
,y
(n)
) и (x
l
(n)
m
,y
(n)
m
).
Суммируя значения интегралов по всем таким треугольникам, мы
придём к общей формуле интегрирования по произвольной области S:
N
где
I ≈
1
S
3
n=1
(n)
x
=(x
j
(n)
y
j
n
=(y
f(
(n)
m
(n)
m
(n)
(n)
x
, y
1
(n)
)βj+(x
k
(n)
)βj+(y
k
)+f(x
1
− x
− y
(n)
2
(n)
l
(n)
l
, y
− x
− y
(n)
)+f(x
2
(n)
k
(n)
k
)γj+ x
)γj+ y
(n)
3
(n)
k
(n)
k
, y
(n)
),
3
,
,
j =1, 2, 3,
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
