В ходе выполнения лабораторной работы было разработано приложение, реализующее следующий функционал:
1) Генерация N случайных величин с помощью стандартного класса Random и методом фон Неймана.
2) Вывод графиков распределения случайных величин по интервалам с шагов 0,05 в диапазоне от 0 до 1.
3) Вывод среднего значения массива случайных величин (AVG), выделение интервалов, в которые попало максимальное (Max) и минимальное (Min) количество случайных величин.
4) Настройка внешнего вида графиков.
Проведём исследование зависимости степени равномерности распределения выборки случайных величин от их количества.
Рис. 1. Работа программы при N = 50
Рис. 2. Работа программы при N = 100
Рис. 3. Работа программы при N = 500
Рис. 4. Работа программы при N = 1000
Рис. 5. Работа программы при N = 5000
Рис. 6. Работа программы при N = 10000
Рис. 7. Работа программы при N = 25000
Рис. 8. Работа программы при N = 50000
При N = 50, N = 100, N = 500, N = 1000 можно использовать любой метод, так как в этом случае распределение случайных величин получается примерно одинаковым.
|
|
При N = 5000, N = 10000, N = 25000, N = 50000 лучше использовать метод фон Неймана, так как в этом случае он дает более равномерное распределение случайных величин.
Вывод: в ходе выполнения работы были получены выборки случайных величин с помощью стандартного класса Random и алгоритма фон Неймана.
1) При N < 50 лучше использовать стандартный класс Random для получения равномерно распределенной выборки.
При 50 ≤ N < 5000 можно использовать оба метода.
При N ≥ 5000 предпочтительнее использовать алгоритм фон Неймана, так как в этом случае он дает более равномерное распределение.
2) Для получения визуально равномерного распределения с помощью алгоритма фон Неймана достаточно сгенерировать 20000 величин, в то время как стандартным классом Random нужно сгенерировать 500000 величин.
3) Для предотвращения зацикливания работы программы при использовании алгоритма фон Неймана предложено при зацикливании вычитать из текущего элемента число 0,1297.