Редактирование: Численная оценка интеграла методом Монте-Карло. Антонов Илья. 6 курс
Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 5: | Строка 5: | ||
==Описание исследования== | ==Описание исследования== | ||
− | Оценка интеграла методом Монте-Карло алгоритмически довольно проста. Подинтегральная функция геометрически заключается в простую фигуру, например, в прямоугольник (с заранее определенными минимальными и максимальными значениями функции в качестве высоты и пределами интегрирования в качестве ширины), по которому равномерно последовательно случайным образом разбрасываются точки. Испытание считается успешным, если точка попала под | + | Оценка интеграла методом Монте-Карло алгоритмически довольно проста. Подинтегральная функция геометрически заключается в простую фигуру, например, в прямоугольник (с заранее определенными минимальными и максимальными значениями функции в качестве высоты и пределами интегрирования в качестве ширины), по которому равномерно последовательно случайным образом разбрасываются точки. Испытание считается успешным, если точка попала под интегральную функцию. Значение интеграла оценивается как отношение числа успешных испытаний к общему числу испытаний, умноженному на площадь фигуры, в которую заключена подинтегральная функция. Кроме того, точность оценки будет зависеть равномерности распределения случайных точек по фигуре, то есть, в конечном счете, от генератора случайных чисел и генерируемого им равномерно-распределенного псевдослучайного числа. Предлагается сравнить стандартное РРПСЧ для C++ rand() и РРСПЧ из вихря Мерсенна (std::mt19937). |
Такая задача довольно просто может быть распараллелена использованием своего генератора случайных чисел для каждого из процессов. | Такая задача довольно просто может быть распараллелена использованием своего генератора случайных чисел для каждого из процессов. | ||
Для расчета был выбран следующий интеграл, заключенный в прямоугольник [(0,0);(10,1)]: | Для расчета был выбран следующий интеграл, заключенный в прямоугольник [(0,0);(10,1)]: | ||
− | :<math> | + | : <math> |
\int_{0}^{10}e^{-x^2}dx | \int_{0}^{10}e^{-x^2}dx | ||
</math> | </math> | ||
Строка 19: | Строка 19: | ||
*численной оценки интеграла методом Монте-Карло с использованием srand() в качестве РРПСЧ | *численной оценки интеграла методом Монте-Карло с использованием srand() в качестве РРПСЧ | ||
*численной оценки интеграла методом Монте-Карло с использованием std::mt19937 generator() в качестве РРПСЧ | *численной оценки интеграла методом Монте-Карло с использованием std::mt19937 generator() в качестве РРПСЧ | ||
− | |||
− | |||
==Результаты== | ==Результаты== |