Аналитические и имитационные модели. Финаев В.И - 67 стр.

UptoLike

67
Сдвиг на два разряда вправо
Сдвиг на три разряда влево
Х
i
0 11 10 01 1
1 01 11 00 1
1 10 01 01 0
=
0 01 01 01 1
=
1 11 00 00 1
Х
i+1
Х
i
*
Рис. 4.4
Для того чтобы числа были распределены в интервале
[0,1], необходимо провести соответствующее
нормирование, например, считать, что получаемые числа
это дробная часть.
На рис. 4.5 приведен алгоритм датчика
псевдослучайных, квазиравномерно распределенных чисел,
реализованного согласно примеру метода перемешивания.
В блоке 1 алгоритма осуществляется ввод начального
такта моделирования Т=0, заданное число тактов
моделирования (генерации) TZ, начального массива Х0[I]
размерностью IM, значение IM, а также K - число сдвигов
влево и L - число сдвигов вправо. В массиве Х0[I] записана
начальная константа Х
0
. В блоках 3-6 определяется массив
ХK[I], полученный из массива Х0[I] в результате
циклического сдвига его элементов на K разрядов влево.
Например, если
IM=7, а K=3, то при I=0 (блок 4)
ХK[3]=Х0[0] (блок 5), при I=1 ХK[4]=Х0[1], при I=2
ХK[5]=Х0[2], при I=3 ХK[6]=Х0[3], при I=4 ХK[0]=Х0[4],