Книга: Машинна імітація випадкових параметрів
При тех же параметрах а, m и параметре С=347 с помощью смешанного генератора Томпсона получаем:
x1 =ax0 +C( mod m) = 111*10 +347 (mod 256) = 1457 mod 256 = 177,
r1 =x1 /m=177/256=0,691.
Наконец, аддитивно-когруэнтным методом при х0 =100, x1 =183 получаем
х2 =x0 +xl ( mod m) = (100 + 183) (mod 256) = 283 mod 256 = 27,
r2 =x2 /m=27/256= 0,105.
В табл. 1 приведены результаты расчетов для первых 10 псевдослучайных чисел, полученных всеми перечисленными способами.
Переваги програмного методу:
- займає мало місця в оперативній пам"яті (близько десяти команд);
- можна поворити спроби;
- забезпечується одноразова первірка якості випадкових чисел;
- не потрібні зовнішні пристрої.
Недоліки програмного методу:
- швідкість утворення випадкових чисел відносно невелика;
- обмежений запас чисел.
Таблица 1
Последовательности псевдослучайных чисел
i | Мультипликативно-конгруэнтный метод | Смешанный генератор Томпсона | Аддитивно - конгруэнтный метод | |||
xi | ri | xi | ri | xi | ri | |
0 | 10 | 0,039 | 10 | 0,039 | 100 | 0,391 |
1 | 86 | 0,336 | 177 | 0,691 | 183 | 0,715 |
2 | 74 | 0,289 | 26 | 0,102 | 27 | 0,105 |
3 | 22 | 0,086 | 161 | 0,629 | 16 | 0,063 |
4 | 138 | 0,539 | 42 | 0,164 | 75 | 0,293 |
5 | 214 | 0,836 | 145 | 0,566 | 224 | 0,875 |
6 | 202 | 0,789 | 58 | 0,227 | 123 | 0,480 |
7 | 150 | 0,586 | 129 | 0,504 | 176 | 0,688 |
8 | 10 | 0,039 | 74 | 0,289 | 171 | 0,668 |
9 | 86 | 0,336 | 113 | 0,441 | 128 | 0,500 |
10 | 74 | 0,289 | 90 | 0,352 | 219 | 0,855 |
Завдання
Построить последовательности псевдослучайных чисел, используя табличный процессор MS Excel. Получить таблицу, аналогичную таблице 1.
Для вычисления остатка от деления рекомендуется использовать функцию ОСТАТ.
Выполнить форматирование.
Описание функции ОСТАТ
Назначение: Возвращает остаток от деления аргумента число на делитель. Результат имеет такой же знак, как и делитель.
Синтаксис
ОСТАТ (число ;делитель )
Число - это число, остаток от деления которого определяется.
Делитель - это число, на которое нужно разделить (делитель). Если делитель равен 0, то функция ОСТАТ возвращает значение ошибки #ДЕЛ/0!
Замечания
Функция ОСТАТ может быть выражена через функцию ЦЕЛОЕ:
ОСТАТ(n; d) = n - d*ЦЕЛОЕ(n/d)