ЛР_1_моделирование_2022. Исследование датчиков равномерно распределенных псевдослучайных чисел
Скачать 237.14 Kb.
|
ИССЛЕДОВАНИЕ ДАТЧИКОВ РАВНОМЕРНО РАСПРЕДЕЛЕННЫХ ПСЕВДОСЛУЧАЙНЫХ ЧИСЕЛ Цель работы: ознакомление с методами и алгоритмами получения в программной среде MATLAB псевдослучайных чисел, равномерно распределенных на интервале (0,1), а также изучение первичной оценки качества полученных псевдослучайных чисел. Краткие теоретические сведения: Одним из наиболее универсальных методов исследования систем управления (СУ) является метод математического моделирования СУ на компьютере. Для реализации этого метода разработчик СУ должен иметь в своем распоряжении математические модели входных сигналов и алгоритмы получения на ПК числовых последовательностей, имитирующих изменение сигналов во времени. Достоверность данных и выводов, полученных при моделировании, зависит, прежде всего, от степени математических моделей реальным сигналам, а также от качества самих алгоритмов имитации. В свою очередь, качество алгоритмов зависит от степени случайности двух базовых распределений: равномерного и нормального, на которых основываются все известные алгоритмы имитации случайных процессов на ЭВМ. В настоящей работе исследуются алгоритмы получения на ПК псевдослучайных последовательностей, равномерно распределенных на интервале (0,1). Такие алгоритмы называются генераторами равномерно распределенных чисел. Рассмотрим два наиболее простых способа генерации псевдослучайных чисел: 1. Мультипликативный генератор. Используется следующий алгоритм генерации: 1 0 , 2 , m n n R MR R где m – число двоичных разрядов в мантиссе ячейки, М – достаточной больше целое число (например, можно брать 31 простое число Мерсенна, либо можно выбрать M=5 2p+1 , где p - целое), {} – взятие дробной части числа, заключенного в фигурные скобки. 2. Линейные конгруэнтные генераторы. Существует два алгоритма генерации псевдослучайных чисел: 2.1. Первый записывается в виде: 1 11 , n n R R 2.2. Второй записывается в виде: 1 0 / 10 , l n n R R Z n где R 0 =0, Z 0 = 0.011, l рекомендуется выбирать так, чтобы число 10 -l еще не было машинным нулем, а число 10( -l-1) уже воспринималось бы как машинный нуль. Порядок выполнения работы: 1. Сгенерировать 9 наборов псевдослучайных чисел – по каждому методу сгенерировать 3 набора чисел объемом N=100,1000,5000 чисел. 2. Построить гистограмму для каждого набора случайных чисел (функции MATLAB hist() или histogram()). 3. Вычислить эмпирическую функцию распределения для каждой выборки (функция MATLAB ecdf()) и построить ее график. 4. Вычислить оценки математического ожидания, дисперсии и среднеквадратического отклонения (СКО) для каждой выборки (функции mean(), var(), и std() соответственно). 5. Из литературы, или лекций вычислить аналитически теоретические значения математического ожидания, дисперсии и СКО для равномерного распределения с параметрами (0,1), а также внешний вид плотности распределения и функции распределения равномерного закона распределения. Отразить их в отчете. 6. Сравнить полученные результаты. Сделать выводы. |