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

Информатика.-7

.pdf
Скачиваний:
4
Добавлен:
05.02.2023
Размер:
762.87 Кб
Скачать

f (x)

 

x3

 

. Разобьем

отрезок

[0; 6]

 

на шесть

интервалов

ex 1

 

 

 

 

 

 

 

 

 

 

 

 

 

6 0

 

 

 

 

 

 

 

 

 

 

 

( n 6 ). Шаг интегрирования h

 

1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

I

 

 

3

 

03

 

 

3

 

13

3

23

2

 

33

3

 

43

3

 

53

 

63

 

П

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

e1 1

e2 1

 

e3

1

e4 1

e5

1

 

 

 

e0 1

 

 

 

 

 

 

 

 

 

 

 

e6 1

 

3 (0 3 0,582 3 1,252 2 1,415 3 1,194 3 0,848 0,537) 8

3 14,995 5,623. 8

4.5. Метод Буля

Если в качестве аппроксимирующей функции использовать полином четвертой степени y ax4 bx3 cx2 dx e , выполняя

те же действия, что и в методе парабол, можно получить формулу для приближенного вычисления интеграла. На элементарном отрезке x0; x4 она имеет вид

IБ 245h 7 y0 32 y1 12 y2 32y3 7 y4 .

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

IБ 245h 7 y0 32 y1 12 y2 32y3 14y432y5 12y6 32y7 ... 32yn 1 7 yn .

4.6.Сравнение различных методов по точности приближения

Точное значение интеграла можно представить в виде суммы двух слагаемых:

– 71 –

b

I f (x)dx Q( f ) E( f ) ,

a

где Q( f ) – численное значение интеграла, полученное тем или иным методом; E( f ) – ошибка интегрирования, которая зависит от вида функции f (x) и шага h .

Степенью точности называют такое целое число n, что для всех полиномов Pi (x) степени i n приближенная формула рас-

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

значения интеграла и погрешности вычислений.

Таблица 4.1. Формулы и точность расчета определенного интеграла на элементарных интервалах методами численного интегрирования

Метод

 

Расчетная формула

 

Точность E( f )

Левых прямо-

 

 

 

 

 

 

 

h f

0

 

 

h

2

 

f

 

 

угольников

 

 

 

 

 

 

 

 

 

 

 

 

(c)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Правых прямо-

 

 

 

 

 

 

 

h f

 

 

h

2

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

угольников

 

 

 

 

 

 

 

 

 

 

 

 

f (c)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Центральных

 

 

 

 

 

 

x

x

 

 

h

3

f

(2)

(c)

прямоугольников

 

 

 

 

h f

 

 

0

1

 

 

 

 

 

 

 

 

 

 

 

2

 

 

24

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Трапеций

 

 

 

 

h

( f0 f1)

 

h3 f (2) (c)

 

 

 

 

 

2

 

 

 

 

12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Симпсона

 

 

 

h

( f0

 

4 f1 f2 )

 

h5 f (4) (c)

 

 

 

 

3

 

 

 

 

 

 

90

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Симпсона 3/8

 

3h

( f0 3 f1

3 f

2 f3)

3h5 f (4) (c)

 

 

8

 

 

 

80

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Буля

2h

(7 f0

32 f1

12 f2 32 f3

7 f4 )

8h7 f (6) (c)

 

45

 

 

945

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

– 72 –

4.7. Численное интегрирование методом Гаусса Лежандра

Постановка задачи интегрирования в каноническом виде [4]: требуется найти площадь под кривой y f (x) , 1 x 1.

«Король математиков» Гаусс подошел к решению данной задачи с определения метода, который позволяет получить наилучший результат, если вычислять значения функции f (x) толь-

ко в двух точках. Формула трапеций является методом для нахождения площади под кривой, в ней используются два вычисления функции в крайних точках: ( 1; f ( 1)) и (1; f (1)) . Но если

график функции y f (x) вогнут вниз, то ошибка приближения

соответствует области, которая лежит между кривой и отрезком линии, соединяющей точки (рис. 4.7,а). Если можно использовать узлы x1 и x2 , которые лежат на интервале [ 1;1], значит линия

пересекает кривую в двух точках – (x1; f (x1)) и (x2 ; f (x2 )) и пло-

щадь под линией лучше приближает площадь под кривой

(рис. 4.7,б).

Y

Y

 

y f (x)

y f (x)

y1

 

y2

–1

0

1 X

–1 x1

0

x2 1 X

 

а

 

 

 

б

Рис. 4.7. Аппроксимация трапецией, использующей абсциссы –1 и 1 (а) и x1 и x2 (б)

Уравнение линии имеет вид

y f (x1) (x x1) xf (x2x) f (x1) .

2 1

– 73 –

Площадь трапеции под линией

S

2x2

f (x1)

2x1

f (x2 ).

x2

x1

x2

x1

 

 

 

Можно убедиться, что формула трапеции является частным случаем данной формулы, если подставить в нее x1 1, x2 1 и

h 2 :

S 22 f (x1) 22 f (x2 ) f (x1) f (x2 ) IТр.

Согласно методу Гаусса – Лежандра приближенное значение интеграла определяется с помощью весового суммирования значений функции в двух точках по формуле

1

f (x)dx 1 f (x1) 2 f (x2 ).

1

Значения абсцисс x1 и x2 и весов 1 и 2 выбирается из условия, что данная формула будет точной для четырех функций: f (x) 1, x, x2 и x3 . Четыре интегральных условия имеют вид

 

1

 

 

 

f (x) 1:

1dx 2 1 2 ,

 

1

 

 

 

 

1

 

 

 

f (x) x :

xdx 0 1x1 2 x2 ,

 

1

 

 

 

 

1

 

2 1x12 2 x22 ,

f (x) x2 :

x2dx

 

1

 

3

 

 

 

 

 

f (x) x3:

1

 

 

 

x3dx 0 1x13 2 x23 .

 

1

 

 

 

Решим систему нелинейных уравнений

 

1 2 2,

 

 

x

x

0,

 

 

1 1

2 2

 

 

 

 

 

2 ,

 

x2

x2

 

 

1 1

2 2

3

 

 

 

 

 

3

3

 

 

 

0.

 

1x1

2 x2

 

 

 

– 74 –

 

Запишем второе и четвертое уравнение в виде 1x1 2 x2 и1x13 2 x23 . Разделив четвертое уравнение на второе, получим

x12 x22 , или x1 x2 . Подставив найденное соотношение во второе уравнение системы, получим 1 2 . Подставив это соотношение в первое уравнение системы, получим 1 2 1.

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

x2

 

x2

x2

x2

2

или

x2

1 .

1

1

2

2

 

1

2

3

 

 

 

2

3

 

 

 

 

 

 

1

 

 

1

 

 

Отсюда следует, что x

 

,

x

.

 

 

 

 

 

 

 

 

 

 

2

 

3

 

1

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таким образом, значение интеграла, найденное методом Гаусса – Лежандра по двум точкам, вычисляется по формуле

1

 

1

 

 

 

1

 

f (x)dx

 

f

 

 

 

f

 

.

3

3

1

 

 

 

 

 

 

 

 

 

 

 

 

Данная формула имеет степень точности, равную 3:

 

 

 

 

1

 

 

 

 

 

 

1

 

1

 

 

 

 

 

 

 

 

f (x)dx

 

 

 

 

 

 

 

 

 

f

 

 

 

 

f

 

E2

( f ),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

3

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где E ( f )

f

(4) (c)

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

135

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

dx

 

 

Пример. Определить значение интеграла

 

 

. Оценить

x

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

его погрешность.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Точное значение интеграла находится по формуле Ньютона –

Лейбница:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

dx

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

ln(x 2)

1 ln(3) ln(1) ln(3) 1,09861.

x 2

Вычисление данного интеграла методом трапеций с шагом

h 2 дает значение

 

 

 

 

 

 

 

 

 

 

 

 

 

1

dx

 

 

2

 

 

1

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0,33333 1,33333 .

x

2

2

1

2

1 2

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

– 75 –

 

 

 

 

 

 

Вычисление интеграла методом парабол с шагом h 1 дает значение

1 dx

 

 

 

1

 

1

 

 

 

1

 

 

1

 

1

 

1

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

1 2

 

 

 

 

 

1,11111,

x

2

3

 

 

 

2

0 2

1 2

3

9

 

1

 

 

 

 

3

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а методом Гаусса – Лежандра по двум точкам –

 

 

 

 

 

1

 

 

dx

 

 

 

1

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,70291 0,38800 1,09091.

 

 

x 2

 

1

2

1

 

 

 

 

1

 

 

 

 

 

 

3

 

3

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Следует заметить, что в формулах Гаусса – Лежандра и трапеций используются два вычисления функции, а для формулы Симпсона – три.

Относительные погрешности вычислений интеграла составили: для метода трапеций 21 %; для метода парабол 1,14 %; для метода Гаусса – Лежандра 0,7 %.

Если требуется вычислить значение интеграла на интервале [a; b], то следует выполнить замену переменной:

 

 

 

 

x a b

b a t , dx b

 

 

 

 

 

 

2

 

 

2

 

2

 

В результате получаем

 

 

 

 

b

f (x)dx

1 a b

 

b a

b a

dt

b a

 

 

f

2

2

 

t

2

2

 

 

 

 

 

 

a

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

Пример. Вычислить интеграл 6x5dx .

0

a

1

1

dt ,

fa b b a t dt.2 2

В данном случае a = 0, b = 2, f (x) 6x5 . Проводим замену переменной:

 

x

0 2

2 0 t 1 t , dx

2 0 dt dt .

 

 

2

2

 

 

 

 

 

 

2

 

 

 

 

 

Получаем интеграл

 

 

 

 

 

 

 

 

 

 

 

2

1

 

 

 

 

1

 

5

 

 

 

1

 

5

6x5dx 6

(1 t)5 dt

 

 

 

 

58,66667 .

6 1

 

 

 

6

1

 

 

 

3

3

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

– 76 –

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

Пример. Вычислить интеграл sin(x) dx .

 

 

 

 

 

 

 

 

 

 

0

x

 

 

 

 

 

 

 

 

 

 

 

sin(x)

 

 

В данном случае a = 0, b = 1,

f

(x)

. Проводим замену

 

переменной:

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

0 1

1 0 t 1 t

,

dx 1 0 dt

1 dt .

 

 

2

 

 

2

2

 

 

2

 

2

Получаем интеграл

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

1 t

1

 

 

 

 

 

 

1

1 sin

2

 

 

 

 

 

 

sin(x) dx

 

 

 

 

dt

 

sin(0,5 0,5t) dt 0,94604 .

 

 

1 t

 

0

x

2

1

 

 

1

 

1 t

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

При вычислении интеграла методом Гаусса – Лежандра по

трем точкам его значение находится по формуле

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x)dx 1 f (x1) 2 f (x2 ) 3 f (x3 ).

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

Значения абсцисс x1 ,

x2 , x3 и весов 1, 2 ,

3 выбираются

из условия, что данная формула будет точной для шести функ-

ций: f (x) 1, x, x2 ,

x3 , x4 и x5 :

 

 

 

 

1

 

 

 

 

f (x) 1:

1dx 2 1 2 3 ,

 

 

 

1

 

 

 

 

 

1

 

 

 

 

f (x) x :

xdx 0 1x1 2 x2 3x3 ,

 

 

1

 

 

 

 

f (x) x2 :

1

2 1x12

 

 

 

x2dx

2 x22

3x32

,

 

1

3

 

 

 

 

 

 

 

 

f (x) x3:

1

 

 

 

 

x3dx 0 1x13 2 x23 3x33 .

 

 

1

 

 

 

 

f (x) x4 :

1

2 1x14

 

 

 

x4dx

2 x24

3x34

,

 

1

5

 

 

 

 

 

 

 

 

– 77 –

f (x) x5 :

1

x5dx 0 1x15 2 x25 3x35 .

 

1

После решения системы нелинейных уравнений

 

2,

 

 

 

 

1

 

2

3

 

 

 

 

1x1 2 x2 3x3 0,

 

 

 

 

 

 

 

 

2 ,

x2

x2

x2

 

1

1

2

2

3

3

3

 

 

 

 

 

 

 

 

 

x3

x3

x3

0,

 

 

1

1

2

2

3

3

 

 

 

 

 

 

 

 

 

2

 

x4

x4

x4

,

 

1

1

2

2

3

3

5

 

 

 

 

x5

x5

0

 

x5

 

 

1

1

2

2

3

3

 

 

получаем:

x

0,6 , x 0, x

 

0,6 , 5 ,

8 ,

 

5

,

1

2

3

 

 

1

9

2

9

3

9

 

 

 

 

 

 

 

 

 

 

1

f (x)dx 5 f

0,6 8

 

 

5 f

0,6 .

 

 

 

f (0)

 

 

1

9

 

 

9

 

 

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Данная

формула

имеет

степень точности,

равную 5:

E3 ( f ) f (6) (c) . 15750

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

Таблица 4.2. Абсциссы и весовые коэффициенты для формулы Гаусса – Лежандра

Число

Абсциссы

Весовые

Точность

точек

коэффициенты

 

 

 

 

2

0,57735

1; 1

 

f (4) (c)

 

135

 

 

 

 

 

3

0,774597

0,555556

 

f (6) (c)

0

0,888889

 

 

 

15750

 

 

 

 

 

– 78 –

 

 

 

Окончание таблицы 4.2

Число

Абсциссы

Весовые

точек

коэффициенты

 

4

0,861136

0,347855

0,339981

0,652145

 

 

 

 

 

0,9061798

0,236927

5

0,538469

0,478629

 

0

0,568889

Точность

f (8) (c)

3472875

f (10) (c)

1237732650

4.8. Численное решение интеграла методом Монте Карло

Метод Монте-Карло принципиально отличается от ранее рассмотренных методов. Он не связан с аппроксимацией подынтегральной функции. В его основе лежит применение случайных величин [6]. Использование случайных величин для решения различных прикладных задач применяется достаточно давно. Например, в 1777 году французский ученый Бюффон предложил метод определения значения числа . С появлением компьютеров, которые могли с большой скоростью генерировать случайные числа, расширилась область применения стохастических методов. Временем рождения метода Монте-Карло считается 1950 год, когда была опубликована статья «Метод Монте-Карло». Авторы статьи – Николос Константин Метрополис и Станислав Мартин Улам. Название метода связано с городом Монте-Карло княжества Монако, в котором находится большое казино.

Существует несколько алгоритмов вычисления интеграла методом Монте-Карло. В данном пособии будут рассмотрены стандартный и геометрический алгоритмы.

Предположим, что требуется вычислить интеграл

b

I f (x)dx .

a

Рассмотрим случайную величину u , которая равномерно распределена на интервале [a; b]. Тогда значение f (u) тоже бу-

дет случайной величиной. Ее математическое ожидание (среднее значение) находится по формуле

– 79 –

 

 

 

 

b

 

 

 

 

M[ f (u)] f (x) (x) dx ,

где (x) –

 

a

 

плотность распределения случайной величины u ,

(x)

1

 

на интервале [a; b].

 

b a

 

 

 

 

 

Тогда значение интеграла будет выглядеть как

 

 

 

 

1

b

 

 

 

M[ f (u)]

f (x)dx,

 

 

 

b a

 

 

 

 

a

 

 

 

 

 

а значение искомого интеграла можно получить по формуле

 

 

 

b

 

 

 

 

 

f (x)dx (b a)M[ f (u)].

 

 

 

a

 

 

Если имеется N случайных точек u1, ..., uN , то данная форму-

ла принимает вид

 

 

 

 

 

b

 

N

 

 

 

f (x) dx b a f (ui ).

 

 

 

a

N

i 1

Полученная формула определяет стандартный алгоритм вычисления интеграла методом Монте-Карло.

Теперь рассмотрим геометрический алгоритм вычисления интеграла методом Монте-Карло

b

I f (x)dx .

a

Ограничим функцию f (x) прямоугольником (рис. 4.8), площадь ( SПР ) которого можно легко найти.

y

1

y = f (x)

 

a

b

x

Рис. 4.8. Численное интегрирование функции y f (x) методом Монте-Карло

– 80 –