- •Лабораторная работа №1 Тема: Численное интегрирование функций
- •Теоретические сведения Вычисление определенных интегралов
- •Метод трапеций
- •Метод Ромберга
- •Вычисление несобственных интегралов
- •Метод Монте-Карло
- •Задание Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
Метод Монте-Карло
Метод Монте-Карло занимает особое положение среди методов вычисления определенных интегралов по двум причинам. Во-первых, это единственный метод, позволяющий вычислять интегралы высокой кратности. И, во-вторых, это метод, который дает лишь вероятностные гарантии степени точности вычисления интегралов. Приведем описание простейшего варианта метода без математических доказательств.
Пусть задана
некоторая подынтегральная функция
– непрерывная в области интегрирования
.
Идея
метода состоит в том, что интеграл
заменяется величиной Fср.·V,
где V
– объем области интегрирования, Fср.
–среднее значение подынтегральной
функции, вычисленное по нескольким (n)
случайно выбранным точкам. При
достаточно большом
можно считать, что
.
Применим этот
метод для простейшего интеграла на
промежутке
,
т.е. необходимо вычислить интеграл
В этом случае в
качестве объема области интегрирования
выступает длина отрезка
,
которая равна
.
Пусть
– случайные точки промежутка
,
тогда значение функции
в некоторой «средней» точке будет:
А значение интеграла станет равным
.
Теперь стоит
вопрос оценки точности значения
интеграла. Пусть I(f)
– точное значение интеграла, а Sn(f)
– его приближенное значение, тогда с
вероятностью
выполняется следующее
неравенство
.
Например, если
положить
,
тогда
и можно утверждать, что с вероятностью
99% справедливо неравенство
,
где
-
дисперсия.
Метод Монте-Карло легко обобщается на интегралы произвольной кратности. Например, двукратный интеграл может быть вычислен по формуле
,
где
– случайные числа, равномерно
распределенные на интервалах
и
соответственно. Оценка точности
вычисления интеграла совершенно
аналогична приведенной выше для случая
однократного интеграла.
Хотя Mathcad позволяет вычислять кратные интегралы непосредственно, однако в большинстве случаев при кратности интегралов 3 и более применение метода Монте-Карло предпочтительнее. Дело в том, при одинаковой точности метод Монте-Карло дает существенный выигрыш во времени (в десятки и сотни раз), особенно при большой кратности интегралов.
Определим подынтегральную функцию.
И
вычислим интеграл обычным способом
А теперь вычислим тот же интеграл методом Монте-Карло
Среднее
значение подынтегральной функции
находим с помощью встроенной функции
-
приближенное значение интеграла по
методу Монте-Карло.
Поскольку в нашем случае объем области интегрирования равен 1, полученное среднее значение совпадает со значением интеграла при некоторой относительной погрешности; время вычисления интеграла по методу Монте-Карло существенно меньше.
Интеграл
можно вычислить и другим способом.
Заключим область интегрирования внутрь
прямоугольной области, и рассмотрим N
случайных точек в полученной области.
Тогда интеграл найдем из соотношения
,где
N
– общее число точек, n
– число точек, лежащих внутри области
интегрирования, V
– объем области, включающей область
интегрирования.
Максимальное значение подынтегральной функции в области интегрирования не превосходит 125, следовательно, мы можем заключить всю область интегрирования внутрь четырехмерного цилиндроида высотой 125 и объемом V=125. Сгенерируем N четверок случайных чисел и подсчитаем, сколько из них лежит под поверхностью f(x,y,z).
Замечание.
Оператор
генерирует случайные числа, распределенные
равномерно на отрезке
.
В рассмотренном примере все переменные
интегрирования принадлежали именно
таким отрезкам, - это слишком частный
случай. См. варианты № 5 и № 8.
