Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Данилова Л.В. Лаб. практикум по матем. в Excel. 2017.doc
Скачиваний:
0
Добавлен:
15.03.2026
Размер:
10.87 Mб
Скачать

Лабораторная работа 6 Вычисление определенного интеграла методом Монте-Карло

Вычислим интеграл I = .

Пусть при . Значение интеграла I равно площади области G, ограниченной линиями (рис. 6.1).

Будем n раз случайным образом бросать точку на единичный квадрат и подсчитывать число попаданий m точки в область G.

Рис. 6.1

Найдем оценку вероятности попадания точки в область G: = . С другой стороны, вероятность попадания точки в область G равна отношению площади области G к площади квадрата :

= . Таким образом, . (6.1)

Моделирование процесса случайного попадания точки в единичный квадрат с равномерным распределением точек попадания по площади квадрата осуществим с помощью инструмента «Генерация случайных чисел» (ГСЧ). В каждом опыте с помощью ГСЧ будем получать пару независимых случайных чисел , ( i = 1,…, n), равномерно распределенных в интервале (0;1). Затем подсчитаем количество опытов m, в которых выполнено условие (точка попала в область G) и определим по формуле (6.1) оценку искомой величины I.

Пример 6.1

Вычислить определенный интеграл I = методом Монте-Карло.

Решение

Проделаем следующие шаги:

1 Установим «Пакет анализа», содержащий ГСЧ. Для этого выполним команду «Сервис/Надстройки». В диалоговом окне «Надстройки» выберем «Пакет анализа», щелкнем на кнопке «ОК» (рис. 6.2). После этого в меню «Сервис» появится новая команда «Анализ данных».

Рис. 6.2

  1. Выберем команды «Сервис/Анализ данных».

  2. В диалоговом окне «Анализ данных» выберем «Генерацию случайных чисел» (рис. 6.3) и щелкнем на кнопке «ОК».

Рис. 6.3

  1. Заполним диалоговое окно для генерации 10000 пар случайных чисел, равномерно распределенных на (0;1). Пары случайных чисел поместим в диапазон A2:B10001. Для этого установим переключатель «Выходной интервал» и в его поле введем $A$2:$B$2 (рис. 6.4).

  2. Для вычисления значений подынтегральной функции в ячейку С2 введем формулу =А2^2.

  3. В ячейку D2 введем формулу = ЕСЛИ(В2>С2;0;1). Эта формула присваивает ячейке значение 0, если точка не попадает в область G и значение 1, если принадлежит G (рис. 6.5).

  4. Заполним диапазон С2:D10001 соответствующими формулами. Для этого выделим указанный диапазон: а) щелкнем мышью на ячейке С2; б) выберем в меню «Правка / Перейти»; в) наберем в поле ввода диалогового окна «Переход» адрес D10001; г) нажмем и будем удерживать клавишу Shift; д) щелкнем «ОК». Теперь выберем в меню пункт «Правка / Заполнить / Вниз».

Рис. 6.4

……………………………………….

Рис. 6.5

  1. Подсчитаем число попаданий в область G. Для этого найдем сумму значений в диапазоне D2:D10001. Для этого, например, введем в ячейку D10002 формулу: = СУММ(D2:D10001) или выделяем диапазон D2:D10002 и нажимаем кнопку Σ («Автосуммирование»).

  2. В результате получим m = 3360. Отсюда I = 3360/10000 = 0.3360.

Замечания

  1. Применяя неравенство Чебышева, имеем

-I .

Это неравенство верно с вероятностью при заданном уровне значимости .

Задавая значения , можно найти число испытаний

n = .

Поскольку неравенство Чебышева дает нижнюю оценку вероятности, то значение n будет завышенным. Например, если = 0.005, = 0.01, то n = 1000000. В рассмотренном примере точное значение интеграла I = 0,(3), а его приближенное значение нашли при n =10000 с точностью 0.002(6).

2 На практике определенные интегралы методом Монте-Карло не вычисляют, т.к. для этого есть более точные методы (квадратурные формулы). Однако при вычислении многократных интегралов положение меняется: квадратурные формулы становятся громоздкими, а метод Монте-Карло остается практически без изменений.