Вычисление интегралов простейшим методом Монте-Карло
Каким образом с помощью кучи камней измерить площадь пруда? Предположим, что пруд расположен в центре поля известной площади А. Бросайте камни в пруд произвольным образом так, чтобы они падали в случайных точках в пределах поля, и считайте количество всплесков при попадании камней в пруд. Эта простая процедура является примером метода Монте-Карло.
Выясним подробнее суть этого метода. Пусть дан прямоугольник высотой Н и длиной b-a такой, что функция f(x) лежит внутри него. Генерируем п пар случайных чисел xi и yi, удовлетворяющих условиям a<= xi <= b и 0 <= yi <= H. Доля точек (xi , yi), которые удовлетворяют условию yi<= f(xi), представляет собой оценку отношения интеграла от функции f(x) к площади прямоугольника. Отсюда оценка Fn в методе "проб и ошибок" определяется выражением
, (4)
где ns – число "всплесков" или точек, лежащих под кривой, п – общее количество точек, а А – площадь прямоугольника.
Другая разновидность метода Монте-Карло основывается на теореме математического анализа, согласно которой определенный интеграл
определяется средним значением подынтегральной функции f(x) на отрезке [a; b]. Для вычисления этого среднего возьмем xi не с постоянным шагом, а случайным образом и произведем выборку значений f(x). Оценка Fn одномерного интеграла
методом "выборочного среднего" выражается формулой:
(5)
где xi – случайные числа, равномерно распределенные на отрезке [a; b], а п – количество испытаний. Отличие формулы (5) от формулы прямоугольников только в том, что в рассматриваемом случае шаг не является постоянным. Для интегралов невысокой размерности формула прямоугольников оказывается точнее, чем формула (5), но для многомерных интегралов все же предпочтительнее формула (5).
Для реализации случайных чисел, равномерно распределенных на отрезке [a; b], можно использовать соотношение х=а+(b-a)r, где r –равномерно распределенные числа на отрезке [0; 1]. Для этого в программе требуется использование генератора случайных чисел. Например, х:=а+(b-a)random.
Тестирование.
- Составьте программу, которая реализует метод проб и ошибок Монте-Карло, выражаемый итоговой формулой (4). Найдите оценку Fn интеграла функции в зависимости от числа испытаний п. Положите a=0, b=1, H=1.
Дата добавления: 2015-11-26; просмотров: 1563;