Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 курс / Численные методы / KurgDubrKurk_ChislMet_part2_1.pdf
Скачиваний:
56
Добавлен:
21.05.2015
Размер:
178.39 Кб
Скачать

Заметим, что формула Гаусса обладает очень важной особенностью - концы промежутка интегрирования никогда не входят в число узлов формулы Гаусса. Поэтому формулы Гаусса очень удобны для вычисления несобственных интегралов от неограниченных функций, если особые точки подынтегральной функции лежат на концах отрезка.

Практическая реализация методов численного интегрирования

При использовании любо формулы численного интегрирования важно знать её точность. Оценку точности можно проводить, оценивая остаточны член формулы. Однако, эти остаточные члены содержат производные высоких порядков от подынтегральной функции. Последние в большинстве практических случаев или вообще не могут быть оценены, или могут быть оценены очень грубо, так что фактическая погрешность будет значительно меньше, чем её оценка. Поэтому на практике часто прибегают к следующему способу губой оценки погрешностей формул численного интегрирования, предложенному Рунге.

Остаточный член каждой из формул численного интегрирования может быть записан в виде

R = h k M ,

(29)

где h - длина отрезка интегрирования или какой-то его доли,

k - фиксированное

число и M - произведение постоянной на производную, обычно порядка (k - 1) , от подынтегральной функции в какой-то точке промежутка интегрирования.

Если J - точное значение интеграла, а I1- его приближенное значение, то

J = I1 + h k M ,

(30)

Вычислим тот же самый интеграл по той же формуле численного интегрирования,

но взяв вместо h величину h

. При этом, чтобы получить значение интеграла по

 

2

 

 

 

 

 

 

 

 

всему отрезку, надо применять формулу численного интегрирования дважды.

 

Обозначим сумму полученных результатов через I 2 . Тогда

 

 

æ hö k

æ hö k

 

J = I 2 + ç

 

÷

M1 + ç

 

÷

M 2 ,

(31)

 

 

 

è

2ø

è

2ø

 

 

Последние два члена дают погрешность при каждом интегрировании. Будем считать, что производная, входящая в M , меняется не очень сильно на рассматриваемом промежутке, т.е. M » M1 » M 2 . Тогда мы можем приближенно считать

æ hö k

J = I 2 + 2ç ÷ M (32) è 2ø

Исключая из (30) и (32) точное значение интеграла J , найдем

R = h

k

M =

I 2

- I

1

 

(33)

 

1 -

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 k -1

 

 

 

 

 

 

 

 

Для уточненного значения интеграла J получаем формулу (исключая h k M ):

 

J = I 2

+

I 2 - I1

 

 

 

(34)

2 k -1 - 1

 

 

 

 

 

(Для формулы Симпсона k = 5).

Адаптивные алгоритмы Из формул погрешностей численного интегрирования видно, что точность

получаемых результатов зависит как от характера изменения подынтегральной функции, так и от шага интегрирования. Будем считать, что шаг мы задаем. Ясно, что для достижения одинаковой точности при интегрировании слабо меняющейся функции шаг можно выбрать большим, чем при интегрировании резко меняющихся, осциллирующих функций. Поэтому требуется такая организация экономичных алгоритмов, при которой они автоматически приспосабливались бы к характеру изменения функции. Такие алгоритмы называются адаптивными или алгоритмами с автоматическим выбором шага.

Рассмотрим принцип работы такого алгоритма. Пусть требуется вычислить интеграл с заданной точностью e . Первоначально отрезок интегрирования разбивается на n частей и вычисляется I1. Затем каждый такой отрезок делим пополам и вновь вычисляем I 2 . Полученные значения I1 и I 2 сравниваем и проводим оценку точности (можно по Рунге). Обычно сравнивают разность интегралов с наперед заданной точностью e :

I 1-I 2 ? e

Если погрешность находится в допустимых пределах, т.е. I 1-I 2 < e , то одно из

приближений принимается за значение интеграла. В противном случае происходит дальнейшее деление отрезка.

Вычисление кратных интегралов

Кубатурные формулы

Формулы вида

 

N

 

J = òò ... ò f ( x1 , x2 , ... , xn )dx1dx2 ...dxn = åCi f ( P i ) + R( f )

(35)

G

i=1

 

называются кубатурными формулами. Совокупность точек в n-мерном пространстве

P1 , P 2 , ..., P n , где Pi = ( x1(i) , x2(i) , ... , xn(i) ) ÎG , называется сеткой узлов кубатурной формулы. Числа Ci , не зависящие от f - коэффициенты кубатурной формулы, а

R( f ) - остаточный член.

Вычисление кратных интегралов может быть осуществлено путём повторного вычисления однократных интегралов. Поэтому одним из простейших путей

(i) n
(i) 2
(i) 1

получения кубатурных формул является приём повторного применения полученных нами ранее квадратурных формул. Например,

b d

N1

N 2

N1 N 2

ò ò f (x, y)dxdy = å Ai åB j f (x i , y j ) + R( f ) = åå Ai B j f ( x i , y j ) + R( f ) (36)

a c

i=1

j=1

i=1 j=1

Если область интегрирования G имеет сложную структуру, то её нужно разбить на подобласти более простого вида, и для вычисления интеграла в каждой из них применить ту или иную кубатурную формулу.

Существует, по меньшей мере, два случая, когда применение кубатурных формул неэффективно. Во-первых, интегралы кратности n ³ 4 . В этом случае имеется не менее четырех вложенных суммирования, что приводит к огромным затратам машинного времени. Во-вторых, очень сложная область интегрирования G , которую нельзя разбить на более простые подобласти. Для вычисления таких интегралов используется метод статистических испытаний (метод Монте-Карло).

Метод статистических испытаний

Пусть требуется вычислить интеграл J = òò... ò f ( x1 , x2 , ..., xn )dx1dx2 ...dxn по

G

ограниченной области G , которая задается неравенствами

0 £ x1 £ 1

0 £ j 2 (x1 ) £ x2 £ f 2 (x1 ) £ 1

0 £ j 3 (x1 , x2 ) £ x3 £ f 3 (x1 , x2 ) £ 1

. . .

0£ j n (x1 , x2 , ... , xn-1 ) £ xn £ f n (x1 , x2 , ..., xn-1 ) £ 1,

афункция f (x1 , x2 , ... , xn ) удовлетворяет неравенству

0 £ f (x1 , x2 , ... , xn ) £ 1

Выполнения последнего условия можно добиться для любой ограниченной функции f путем умножения её на константу и прибавления другой константы, т.е. f1 = cf + a . Ограничение на область G , означающее её принадлежность n -мерному единичному кубу, тоже является несущественным, т.к. любая область с помощью линейного преобразования может быть сведена к единичному кубу.

I вариант метода статистических испытаний.

Генерируется последовательность N независимых случайных точек в (n + 1) -

мерном пространстве P i = (h ,h ,... ,h ,x (i) ) , координаты которых есть случайные величины, равномерно распределенные на отрезке [0; 1] . Подсчитывается число n точек этой совокупности, удовлетворяющих неравенствам

0 £ h1(i) < 1

j 2 (h1(i) ) £ h(2i) < f 2 (h1(i) )

j 3 (h1(i) ,h(2i) ) £ h(3i) < f 3 (h1(i) ,h(2i) )

. . .

(i) n
(i) 1
(i) 2

j n (h1(i) ,h(2i) , ... ,h(ni-)1 ) £ h(ni) < f n (h1(i) ,h(2i) ,... ,h(ni-)1 ) , x (i) £ f (h1(i) ,h(2i) , ... ,h(ni) )

При больших N справедливо приближенное равенство

J »

В качестве иллюстрации рассмотрим более подробно вычисление

1

одномерного интеграла ò f (x)dx .

0

Область G определяется неравенством 0 £ x £ 1, и имеется ограничение

0 £ f (x) £ 1. Генерируется последовательность N двумерных случайных точек (h(i) ,x (i) ) . Для каждой точки первое неравенство 0 £ h < 1 выполняется почти всегда. Выполнение второго неравенства

n

(37)

N

y

 

1

 

.P2

( 2)

x

 

( 1)

.P1

 

 

x

 

 

 

 

0

 

 

 

 

h( 1)

h( 2)

1 x

Рис. 6

x (i) £ f (h(i) )

(38)

означает, что точка лежит под кривой f (x) . Таким образом, в данном случае подсчитывается число точек, лежащих под кривой f (x) . Известно, что вероятность попадания случайной точки в какую-либо область равна отношению площади этой области ко всей площади, т.е.

1

ò f (x)dx

 

n

0

»

1*1

N

 

II вариант метода статистических испытаний.

Генерируется совокупность N случайных точек Pi в n - мерном пространстве Pi = (h ,h , ... ,h ) . Если точка Pi попала в область G (т.е. для неё выполняются первые n неравенств), то вычисляется f ( P i ) . Если Pi ÏG , то полагаем f ( Pi ) = 0. Находим среднее арифметическое значений f ( Pi ) при N испытаниях:

J 1 N f ( P i )

N = å

N i=1

(39)

(40)

При больших N

 

 

 

1

 

N

 

J » J N

=

 

 

å f ( P i )

(41)

 

 

 

 

 

N i=1

 

В одномерном случае

 

 

 

 

 

 

1

 

1

 

N

 

ò f ( x)dx »

 

å f (h(i) ) ,

(42)

 

0

 

N i=1

 

где h(i) - последовательность случайных чисел, равномерно распределенных на отрезке [0; 1] .

При применении обоих вариантов метода необходимо, чтобы область G лежала внутри единичного n - мерного куба. Произвольная конечная область интегрирования может быть приведена к единичному кубу заменой переменных

xi = ai + (bi - ai )ti (i = 1,2, ... , n) , (43)

где ai и bi - минимальное и максимальное значение переменной xi , соответственно. Тогда

dxi = (bi - ai )dti

(44)

и интеграл преобразуется к виду

 

J = (b1 - a1 )(b2

- a2 )... (bn - an )òò ... ò f * (t1 , t2 ,... , tn )dt1dt2 ...dtn ,

(45)

 

 

 

 

 

 

 

 

 

 

 

G*

 

 

 

 

 

 

 

 

 

 

 

 

 

где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f * (t

1

, t

2

, ... , t

n

) =

f (a

1

+ (b

- a

1

)t

1

,... , a

n

+ (b

n

- a

n

)t

n

) .

(46)

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

Область G* лежит внутри единичного куба, т.е. задаётся неравенствами

 

 

 

 

 

 

 

 

 

 

 

0 £ t1 £ 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 £ j*i

(t1 , t2 , ..., ti-1 ) £ ti £ fi* (t1 , t2 ,... , ti-1 ) £ 1

 

 

(i = 2,3, ... n)

Оценки показывают, что для вычисления интеграла по методу Монте-Карло с точностью e необходимо вычислить значение подынтегральной функции в числе

точек N , имеющем порядок O(e -2 ) . Сравнивая метод Монте-Карло с методами, основанными на использовании кубатурных формул, можно отметить, что число необходимых точек N не зависит от размерности пространства (кратности интеграла) n . Для кубатурных формул N возрастает как показательная функция в зависимости от n . Другое преимущество - простая приспосабливаемость к форме области интегрирования G . Третье состоит в том, что его точность не зависит от гладкости подынтегральной функции. Недостатком метода Монте-Карло является его вероятностный характер. Поэтому отсутствуют строгие, стремящиеся к нулю при N ® ¥ , оценки погрешности.

¨ Задания.

d

Вычислить определенный интеграл ò f (x)dx :

c

1.по формуле трапеций с точностью e = 10-5 с использованием адаптивного алгоритма.

2.по формуле Симпсона с точностью e = 10-5 с использованием адаптивного алгоритма.

3.по формуле Ньютона-Котеса замкнутого типа (для n = 6 ) с точностью e = 10-5 с использованием адаптивного алгоритма.

4.по формуле Ньютона-Котеса открытого типа (для n = 6 ) с точностью e = 10-5 с использованием адаптивного алгоритма.

5.используя квадратурную формулу Гаусса (для n = 6 ).

Данные для программ приведены в таблице 4.

Таблица 4. Варианты заданий по численному интегрированию

f ( x)

c

d

f ( x)

c

 

d

варианта

варианта

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(x 2 + 1) -1 ln(1 + x)

 

 

 

arcsin x

 

 

 

 

1

0

1

6

0

2

 

 

 

 

 

 

 

2

2

xl x

0

1

7

ln 2 x

0

 

l

 

 

 

 

 

 

 

 

3

(1 + 2x cos 0,5 + x 2 )-1

0

1

8

(1 + sin x)-1

0

p

 

 

 

 

 

 

 

2

4

(1 + l x ) -1

0

1

9

(1 + l 2 x ) -1 l x

0

1

 

 

 

 

 

 

 

 

5

x cos x

0

p

10

l x cos x

0

p

 

 

 

2

 

 

 

2

Соседние файлы в папке Численные методы