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

Основы научных вычислений. Введение в численные методы для физиков и инженеров

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