Учебный репозиторий с пятью лабораторными работами по имитационному моделированию, генерации псевдослучайных чисел и статистическому анализу выборок. В работах исследуются равномерное, нормальное, Парето и полукруговое распределение Вигнера, а также методы описательной статистики.
| Работа | Тема | Что реализовано |
|---|---|---|
| Лабораторная №1 | Равномерное распределение | Мультипликативный конгруэнтный метод, генератор Фибоначчи и Mersenne Twister |
| Лабораторная №2 | Нормальное распределение | ЦПТ, преобразование Бокса—Мюллера, полярный метод Марсальи и randn |
| Лабораторная №3 | Метод обратной функции | Распределение Парето и полукруговое распределение Вигнера |
| Лабораторная №4 | Метод исключения | Генерация выборки распределения Парето методом принятия-отвержения |
| Лабораторная №5 | Статистический анализ | Числовые характеристики, интервальный ряд, гистограмма, полигон частот и ЭФР |
Требуется Python 3.10 или новее. Файл зависимостей пятой работы содержит общий набор библиотек, достаточный для запуска всех лабораторных:
git clone https://github.com/Diminasss/simulation.git
cd simulation
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r Lab5\requirements.txtСкрипты используют относительные пути для чтения данных и сохранения графиков, поэтому каждую работу следует запускать из ее каталога:
cd Lab1
python main.pyДля остальных работ используются команды python Lab2.py, python main.py и python additional_vigner.py, python Lab4.py, python Lab5.py соответственно.
Во время выполнения программы печатают рассчитанные характеристики в консоль, открывают окна Matplotlib и сохраняют графики в каталоги graphics, figs, pictures или diagrams внутри соответствующей лабораторной.
- Python — реализация генераторов и вычислительных экспериментов;
- NumPy и SciPy — генерация выборок, численные вычисления и статистические функции;
- pandas — табличная обработка результатов и исходных данных;
- Matplotlib — построение гистограмм, функций распределения и диаграмм рассеяния;
- statsmodels — вычисление эмпирической функции распределения.
Simulation/
├── Lab1/ # равномерное распределение и генераторы ПСЧ
├── Lab2/ # способы генерации нормального распределения
├── Lab3/ # Парето и полукруговое распределение Вигнера
├── Lab4/ # метод принятия-отвержения
├── Lab5/ # обработка экспериментальной выборки
└── COPYRIGHT # условия использования
Исходный код является проприетарным. Условия использования приведены в файле COPYRIGHT.


