Skip to content

НГТУ, ФПМИ 4-й курс - Компьютерное моделирование

Notifications You must be signed in to change notification settings

alecsmirnov/nstu-computer-modelling

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Лабораторные работы по дисциплине "Компьютерное моделирование" на факультете ПМИ, НГТУ

 

2. Моделирование равномерно распределённых случайных величин

Условия задачи

Научиться моделировать значения равномерно распределённой случайной величины и проводить статистический анализ сгенерированных данных. Построить генератор, дающий для заданного вида генератора достаточно качественную псевдослучайную последовательность.

Написать программу, выполняющую следующие действия:

  1. Считывание из файла входных данных, необходимых для работы программы в автоматическом режиме;
  2. Генерация последовательности псевдослучайных чисел длиной n с помощью заданного в варианте генератора (n не меньше 1000) или с помощью стандартного генератора, встроенного в использованный при написании программы язык программирования в зависимости от заданного во входном файле параметра;
  3. Выделение периода T в сгенерированной последовательности (T не меньше 100; если T < 100, то выход из программы с сохранением в результирующих файлах соответствующей информации); далее под сгенерированной последовательностью будем понимать выделенный период длиной T и обрабатывать только его;
  4. Для сгенерированной последовательности проверка выполнения теста №1 при для n = 40 и n = 100;
  5. Для сгенерированной последовательности проверка выполнения теста №2 при , n = 40, n = 100 и заданном в варианте количестве интервалов K;
  6. Для сгенерированной последовательности проверка выполнения теста №3 при заданных в варианте количестве подпоследовательностей r, количестве интервалов K и длинах подпоследовательностей 40 / r, 100 / r;
  7. Проверка гипотезы о согласии распределения сгенерированной последовательности с равномерным распределением по критерию ; для группирования выбирать интервалы равной длины, выбранное число интервалов должно быть обосновано, уровень значимости ;
  8. Проверка гипотезы о согласии распределения сгенерированной последовательности с равномерным распределением по непараметрическому критерию, заданному в варианте; уровень значимости ;
  9. В результате выполнения программы должно быть создано следующее:
    • файл, содержащий всю сгенерированную последовательность (содержимое файла должно быть доступно при сдаче, но распечатывать его содержимое не обязательно);
    • файл, содержащий только период последовательности (содержимое файла должно быть доступно при сдаче, но распечатывать его содержимое не обязательно);
    • файл, содержащий заданные параметры, длину выделенного периода, описание результатов выполнения всех тестов и критериев (значения статистик, достигнутых уровней значимости, выводы об успешности теста и другая важная информация), а также общий вывод о том, является ли сгенерированная последовательность равномерной псевдослучайной последовательностью;
    • графики для теста №2 (гистограммы, столбцы которых отражают частоты попаданий в каждый интервал); график, построенный по группированным для критерия данным; для теста №3 графики выводить не нужно.

Исходные данные

Генератор Критерий Параметр теста №2 Параметры теста №3
Критерий Колмогорова

 

3. Моделирование дискретно распределённых случайных величин

Условия задачи

Научиться моделировать значения дискретно распределённой случайной величины и проводить статистический анализ сгенерированных данных.

Написать программу, выполняющую следующие действия:

  1. Cчитывает из файла входные данные, необходимые для работы программы в автоматическом режиме;
  2. Cодержит функцию, генерирующую равномерно распределённые псевдослучайные числа с помощью генератора, встроенного в использованный при написании программы язык программирования;
  3. C помощью заданного в варианте алгоритма генерирует 2 последовательности дискретно распределённых псевдослучайных чисел, подчиняющихся заданному в варианте закону распределения: одна – длиной 40, другая – 100 чисел;
  4. Определяет эффективность алгоритма, вычисляя количество операций, которое потребовалось для генерации последовательности;
  5. Проверяет по критерию гипотезу о согласии распределения (уровень значимости ) каждой сгенерированной последовательности с заданным в варианте распределением; группирования как такого нет: вместо интервалов в рассматриваются возможные реализации случайной величины , соответствующие им теоретические вероятности и эмпирические частоты выпадения реализаций , вычисляемые как ( – сколько раз в выборке встретилось значение , – общий объем выборки), единственный интервал может представлять собой бесконечное подмножество реализаций , больших определенного значения, для которых теоретическая вероятность, умноженная на объем выборки .
  6. Выполняет шаги 3–5 для нестандартного алгоритма, моделирующего распределение Пуассона;
  7. В результате выполнения создаёт следующее:
    • файлы, содержащие каждую сгенерированную последовательность;
    • файл, содержащий описание результатов проверки всех критериев (значения статистик, достигнутых уровней значимости, выводы об успешности теста и другая важная информация), результаты измерения эффективности алгоритмов;
    • графики, построенные по группированным для критерия данным (гистограммы, столбцы которых отражают количество попаданий в каждый интервал);
    • графики с «теоретическими» вероятностями моделируемого закона распределения (гистограммы, столбцы которых отражают теоретические вероятности появления элемента последовательности в соответствующие интервалы).

Исходные данные

Алгоритм Закон распределения Параметры распределения Параметры распределения Пуассона
Стандартный с рекуррентными формулами Биномиальный

 

4. Моделирование непрерывно распределённых случайных величин методом обратной функции

Условия задачи

Научиться моделировать значения непрерывно распределённой случайной величины методом обратной функции и проводить статистический анализ сгенерированных данных.

Написать программу, выполняющую следующие действия:

  1. Считывание из файла входных данных, необходимых для работы программы в автоматическом режиме;
  2. Вывод на экран параметров моделируемого распределения;
  3. Отображение графика функции плотности распределения при заданных параметрах распределения;
  4. Отображение графика функции распределения при заданных параметрах распределения;
  5. Моделирование выборки из n = 50 элементов (встроенные в язык программирования стандартные функции можно использовать только для моделирования равномерно распределённых случайных чисел);
  6. Измерение времени моделирования выборки, состоящей из n элементов;
  7. Отображение графика эмпирической функции плотности распределения для смоделированной выборки с наложенным на него графиком соответствующей теоретической функции плотности распределения (для построения эмпирической функции плотности разбить область значений моделируемой случайной величины на интервалы произвольным образом);
  8. Проверка гипотезы о согласии распределения смоделированной выборки с заданным в варианте законом распределения по критерию ; для группирования выбирать интервалы равной длины, число интервалов , уровень значимости ;
  9. Проверка гипотезы о согласии распределения смоделированной выборки с заданным законом распределения по непараметрическому критерию, указанному в варианте; уровень значимости ;
  10. Повтор шагов 5–9 для n = 200 и n = 1000;
  11. Повтор шагов 2–10 при других значениях параметров моделируемого распределения, заданных в варианте;
  12. В результате выполнения программы должны быть созданы файлы, содержащие заданные параметры распределения, смоделированную выборку, время моделирования, описание результатов выполнения всех критериев (значения статистик, достигнутых уровней значимости, выводы об успешности критерия и другая важная информация).

Исходные данные

Распредление Параметры распределения Непараметрический критерий
Распределение Рэлея Критерий Ω^2-Андерсона-Дарлинга

 

5. Моделирование непрерывно распределённых случайных величин методом исключений

Условия задачи

Научиться моделировать значения непрерывно распределённой случайной величины методом исключений и проводить статистический анализ сгенерированных данных.

Написать программу, выполняющую следующие действия:

  1. Считывание из файла входных данных, необходимых для работы программы в автоматическом режиме;
  2. Вывод на экран параметров моделируемого распределения;
  3. Выбор границ интервала, на котором будет производиться моделирование, так, чтобы внутрь него попало не менее 98% значений моделируемой случайной величины, т.е.
    и ;
  4. Выбор множества точек , внутри которого будут «разбрасываться» равномерно распределённые точки (x, y);
  5. Отображение графика функции плотности распределения при заданных параметрах распределения;
  6. Моделирование выборки из n = 50 элементов (встроенные в язык программирования стандартные функции можно использовать только для моделирования равномерно распределённых случайных чисел);
  7. Измерение времени моделирования выборки, состоящей из n элементов;
  8. Измерение количества сгенерированных равномерно распределённых псевдослучайных величин, которое потребовалось для моделирования выборки, состоящей из n элементов;
  9. Отображение графика эмпирической функции плотности распределения для смоделированной выборки с наложенным на него графиком соответствующей теоретической функции плотности распределения (для построения эмпирической функции плотности разбить область значений моделируемой случайной величины на интервалы произвольным образом);
  10. Проверка гипотезы о согласии распределения смоделированной выборки с заданным в варианте законом распределения по критерию ; для группирования выбирать интервалы равной длины, обосновать выбор числа интервалов группирования, уровень значимости ;
  11. Проверка гипотезы о согласии распределения смоделированной выборки с заданным законом распределения по непараметрическому критерию, указанному в варианте; уровень значимости ;
  12. Повтор шагов 5–9 для n = 200 и n = 1000;
  13. Повтор шагов 2–10 при других значениях параметров моделируемого распределения, заданных в варианте;
  14. В результате выполнения программы должны быть созданы файлы, содержащие заданные параметры распределения, смоделированную выборку, время моделирования, количество сгенерированных равномерно распределённых псевдослучайных чисел, описание результатов выполнения всех критериев (значения статистик, достигнутых уровней значимости, выводы об успешности критерия и другая важная информация).

Исходные данные

Распредление Параметры распределения Непараметрический критерий
Распределение Мояла Критерий Смирнова

 

RGZ. Моделирование непрерывно распределённых случайных величин специальными методами

Условия задачи

Научиться моделировать значения непрерывно распределённой случайной величины различными методами и проводить статистический анализ сгенерированных данных.

Написать программу, выполняющую следующие действия:

  1. Считывание из файла входных данных, необходимых для работы программы в автоматическом режиме;
  2. Вывод на экран параметров моделируемого распределения;
  3. Отображение графика функции плотности распределения при заданных параметрах распределения;
  4. Моделирование выборки из n = 50 элементов (встроенные в язык программирования стандартные функции можно использовать только для моделирования равномерно распределённых случайных чисел);
  5. Измерение времени моделирования выборки, состоящей из N элементов;
  6. Измерение количества сгенерированных равномерно распределённых псевдослучайных величин, которое потребовалось для моделирования выборки, состоящей из n элементов;
  7. Отображение графика эмпирической функции плотности распределения для смоделированной выборки с наложенным на него графиком соответствующей теоретической функции плотности распределения (для построения эмпирической функции плотности разбить область значений моделируемой случайной величины на интервалы произвольным образом);
  8. Проверка гипотезы о согласии распределения смоделированной выборки с заданным в варианте законом распределения по критерию ; для группирования выбирать интервалы равной длины, уровень значимости ;
  9. Проверка гипотезы о согласии распределения смоделированной выборки с заданным законом распределения по непараметрическому критерию, указанному в варианте; уровень значимости ;
  10. Повтор шагов 5–9 для n = 200 и n = 1000;
  11. В результате выполнения программы должны быть созданы файлы, содержащие заданные параметры распределения, смоделированную выборку, время моделирования, количество сгенерированных равномерно распределённых псевдослучайных чисел, описание результатов выполнения всех критериев (значения статистик, достигнутых уровней значимости, выводы об успешности критерия и другая важная информация).

При моделировании выборки из указанного распределения требуется дополнительно смоделировать псевдослучайные величины, распределённые по включённым в него рапсределениям. Например, при моделировании выборки из распределения Стьюдента требуется дополнительно смоделировать псевдослучайные величины, распределённые по распределению и нормальному распределению.

Исходные данные

Распредление Параметры распределения Метод моделирования вспомогательного распределения Непараметрический критерий
1 Распределение Фишер Метод Мюллера Критерий -Критерий Крамера-Мизеса-Смирнова
2 Распределение Фишер Метод суммирования (с поправкой 1, при n = 3, n = 6, n = 12) Критерий -Критерий Крамера-Мизеса-Смирнова
3 Распределение Рэлея Метод суммирования (с поправкой 2, при n = 3, n = 6, n = 12) Критерий -Критерий Крамера-Мизеса-Смирнова
4 Распределение Стьюдента Метод Мюллера Критерий Смирнова

About

НГТУ, ФПМИ 4-й курс - Компьютерное моделирование

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages