С.А.Строков, В.Д.Абабий, А.М.Кольчужкин
Томский политехнический университет
Тел./факс: (3822) 41-89-16, e-mail: sergik@chair12.phtd.tpu.edu.ru
Хорошо известно, что научные и прикладные исследования часто приводят к вычислению интегралов или решению дифференциальных, интегральных и других математических уравнений. Для их решения может быть использован метод Монте-Карло, который позволяет получать приближенные оценки путем моделирования случайных величин или случайных функций, вероятностные характеристики которых удовлетворяют соответствующим уравнениям. Статистический анализ этих характеристик дает приближенное решение задачи [1-3].
Представленный в данной работе пакет программ является демонстрационным материалом к курсу "Применение метода Монте-Карло в науке и технике", который читается в Томском политехническом университете. Он может быть использован и для самостоятельной работы через Internet.
Пакет программ "Статистическое моделирование в науке и технике" состоит из трех основных разделов:
1. Примеры распределений
В этом разделе пользователь знакомиться с наиболее часто встречающимися распределениями: равномерным, экспоненциальным, нормальным и пуассоновским. При работе с пакетом можно изменять параметры распределений, количество интервалов для построения соответствующих гистограмм и количество генерируемых случайных чисел. В процессе моделирования вычисляются выборочные средние и дисперсии.
2. Методы генерации
Здесь разбираются основные методы моделирования одномерных и многомерных распределений. Пользователю предлагается изучить метод обратной функции распределения, метод Неймана, метод суперпозиции. В качестве примеров рассмотрены алгоритмы получения случайных точек, равномерно распределенных в прямоугольнике, в круге, на поверхности сферы, в объеме шара и моделирование двухмерного нормального распределения.
3. Приложения
В этом разделе приведены программы, в которых моделирование случайных величин и случайных функций используется для решения некоторых прикладных задач:
3.1. Радиоактивный распад
Программа моделирует случайную функцию, описывающую зависимость количества радиоактивных атомов от времени. Начальное количество атомов и среднее время жизни атома задаются пользователем. Случайный промежуток времени между двумя последовательными распадами моделируется из экспоненциального распределения.
3.2. Радиоактивное семейство
Программа моделирует распад и накопление элементов радиоактивного семейства A->B->C->D, где: A, B, C - радиоактивные элементы, D - стабильный. Пользователь задает средние времена жизни элементов A, B, C и начальное количество атомов A.
3.3. Прохождение нейтронов через барьер
Программа моделирует прохождение нейтронов через плоский слой вещества и вычисляет коэффициенты отражения и прозрачности. Среднее число столкновений на единице пути и вероятность рассеяния нейтронов задаются пользователем, угловое распределение рассеяния считается изотропным.
3.4. Розничная торговля
Программа вычисляет разность между ценой товара, купленного оптом, и выручкой от его розничной продажи. Считается, что количество покупателей в день - случайная величина, описываемая распределением Пуассона с заданным средним значением. Пользователь имеет возможность исследовать зависимость получаемой прибыли от объема оптовой партии товара.
3.5. Распространение нейтронов в делящейся среде
Модуль демонстрирует цепную реакцию деления среды под действием нейтронов, в результате которой образуются вторичные нейтроны, которые также взаимодействуют со средой. Источник нейтронов заключен в центре сферической среды. Пользователь имеет возможность изменять радиус сферы и среднюю величину свободного пробега нейтронов.
3.6. Стрельба из орудия
Программа моделирует стрельбу из орудия, при этом считается, что скорость снаряда и угол вылета распределены по закону Пуассона.
Перед каждым разделом пользователю предлагается список обозначений и напоминаются основные используемые формулы. Перед началом моделирования пользователь вводит параметры задачи в специальные текстовые поля или выставляет их с помощью слайдера. Результаты расчетов представляются в виде чисел, размещенных в текстовых полях, графиков и гистограмм.
Текстовый материал представлен на HTML, а расчетные модули выполнены в виде апплетов на языке Java. Также разработана версия пакета на языке С++ под операционную систему Windows95.
Все материалы, упомянутые в статье, можно найти на WWW-сервере кафедры прикладной физики ФТФ ТПУ по адресу http://chair12.phtd.tpu.edu.ru/StatSim/.
Литература