Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metod_Monte_infa_raznaya.doc
Скачиваний:
66
Добавлен:
08.12.2018
Размер:
350.72 Кб
Скачать

10.4. Метод Монте-Карло для вычисления двойного интеграла

 

Рассмотрим двойной интеграл

   Преобразуем интеграл так, чтобы новая область интегрирования целиком содержалась внутри единичного квадрата. Сделаем замену

.      (10.7)

Тогда

.

Якобиан преобразования равен . Таким образом

.

Выбираем  две равномерно распределенные на отрезке [0,1] последовательности случайных чисел   и . Точку  можно рассматривать как случайную. Выбрав достаточно большое число n точек  , проверяем, какие из них принадлежат области интегрирования (первая категория) и какие не принадлежат ей (вторая категория). Для удобства меняем нумерацию точек.

.

.

Можно вычислить среднее значение функции в области интегрирования

.       (10.8)

Тогда искомый интеграл выражается формулой

  .       (10.9)

Если площадь вычислить трудно, то можно принять .

Тогда

  .      (10.10)

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

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

   Пример 2. Вычислить интеграл  методом Монте-Карло.

,

где область   интегрирования  определяется следующими неравенствами

.

1

1

 

 

 

 

 

 

Рис. 10.6

   Рассмотрим таблицу случайных чисел, каждую пару объединим в точку . Пусть n=20 и m получилось равным 4, т.е. четыре точки  принадлежат . Вычисляем  и  учитывая, что , получаем значение интеграла . В данном примере площадь интегрирования  определяется точно, но можно было бы воспользоваться приближенной формулой .  Точное значение данного интеграла . Определим относительную погрешность результата: .

   Если ещё раз реализовать этот метод с n=20, т.е. взять 40 чисел из таблицы случайных чисел и объединить их парами, то может получится m не равное 4, например, в область интегрирования попадёт 5 точек и получится другое значение . Здесь наглядно видно, что вычислительный процесс является недетерминированным.

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

схема применения метода Монте-Карло может быть такой:

пусть t равномерно распределенная на [0,1] случайная величина,  тогда преобразование x=a+(b-a)t дает  равномерно распределенную на [a,b] случайную величину x. Таким образом, все точки будут принадлежать области интегрирования. Следовательно, вычислительный алгоритм ещё упрощается, так как не надо проверять условие - попала ли точка в область интегрирования.

   Иногда при вычислении кратных интегралов  сочетают метод  Монте-Карло с классическими квадратурами - так называемые случайные квадратурные формулы, основная идея которых состоит в том, что узлы и коэффициенты какой-либо квадратурной суммы (например, интерполяционной) выбираются случайно. Таким образом, получается так называемый метод слоистой выборки, в котором узлы выбираются по одному в каждой части фиксированного разбиения области интегрирования, а коэффициенты пропорциональны соответствующим объёмам. При этом порядок скорости сходимости метода Монте-Карло повышается и в некоторых случаях становится максимально возможным на рассматриваемом классе задач. В общем случае область интегрирования разбивается на параллелепипеды. В каждом параллелепипеде значение интеграла вычисляется через среднее значение в случайной точке и точке симметричной ей относительно центра параллелепипеда.

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

   Важным качеством метода Монте-Карло является сравнительно слабая зависимость среднеквадратической погрешности  от числа измерений, причём порядок сходимости по числу узлов   всегда один и тот же: . Это позволяет оценивать интегралы очень высокой кратности.

А теперь вычислим тот же интеграл методом Монте-Карло

Поскольку в нашем случае объем области интегрирования равен 1, полученное среднее значение совпадает со значением интеграла. При относительной погрешности в 0.001% время вычисления интеграла по методу Монте-Карло существенно меньше.

Интеграл можно вычислить и другим способом. Заключим область интегрирования внутрь прямоугольной области, "набросаем" внутрь полученной области N случайных точек. Тогда интеграл найдем из соотношения,где N – общее число точек, n – число точек, лежащих внутри области интегрирования, V – объем области, включающей область интегрирования.

Максимальное значение подынтегральной функции в области интегрирования не превосходит 125, следовательно, мы может заключить всю область интегрирования внутрь четырехмерного цилиндроида высотой 125 и объемом V=125. Сгенерируем N четверок случайных чисел и подсчитаем, сколько из них лежит под поверхностью f(x,y).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]