Гамма-случайные числа с единичной шкалой
Y = randg
Y = randg(A)
Y = randg(A,m)
Y = randg(A,m,n,p,...)
Y =
randg(A,[m,n,p,...])
Y = randg(...,classname)
Y = randg(...,'like',X)
Y = randg(...,'like',classname)
Y = randg
возвращает скалярное случайное значение, выбранное из гамма-распределения с единичным масштабом и формой.
Y = randg(A)
возвращает матрицу случайных значений, выбранных из гамма- распределений с модулем шкалой. Y
- тот же размер, что и A
, и randg
генерирует каждый элемент Y
использование параметра формы, равного соответствующему элементу A
.
Y = randg(A,m)
возвращает m
-by- m
матрица случайных значений, выбранных из гамма- распределений с параметрами формы A
. A
является либо m
-by- m
матрица или скаляр. Если A
является скаляром, randg
использует это одно значение параметров формы, чтобы сгенерировать все элементы Y
.
Y = randg(A,m,n,p,...)
или Y =
randg(A,[m,n,p,...])
возвращает m
-by- n
-by- p
-by- ...
массив случайных значений, выбранных из гамма- распределений с параметрами формы A
. A
является либо m
-by- n
-by- p
-by- ...
массив или скаляр.
Y = randg(...,classname)
возвращает массив случайных значений, выбранных из гамма- распределений заданного класса. classname
можно double
или single
.
Y = randg(...,'like',X)
или Y = randg(...,'like',classname)
возвращает массив случайных значений, выбранных из гамма- распределений того же класса, что и X
или classname
, соответственно. X
является числовым массивом.
randg
создает псевдослучайные числа с помощью MATLAB® функции rand
и randn
. Последовательность чисел определяется настройками генератора равномерных случайных чисел, который лежит в основе rand
и randn
. Управляйте этим генератором случайных чисел, используя rng
. См. rng
документация для получения дополнительной информации.
Примечание
Чтобы сгенерировать гамма-случайные числа и задать параметры шкалы и формы, необходимо вызвать gamrnd
.
Сгенерируйте массив значений 100 на 1, полученный из гамма- распределения с параметром формы 3.
r = randg(3,100,1);
Сгенерируйте массив значений 100 на 2, полученный из гамма- распределений с параметрами формы 3 и 2.
A = [ones(100,1)*3,ones(100,1)*2]; r = randg(A,[100,2]);
Чтобы создать воспроизводимый выход из randg
, сбросьте генератор случайных чисел, используемый rand
и randn
к настройкам запуска по умолчанию. Так randg
задает те же случайные числа, что и при перезапуске MATLAB.
rng('default') randg(3,1,5) ans = 6.9223 4.3369 1.0505 3.2662 11.3269
Сохраните настройки генератора случайных чисел, используемого rand
и randn
, сгенерируйте 5 значений из randg
восстановите параметры и повторите эти значения.
s = rng; % Obtain the current state of the random stream r1 = randg(10,1,5) r1 = 9.4719 9.0433 15.0774 14.7763 6.3775 rng(s); % Reset the stream to the previous state r2 = randg(10,1,5) r2 = 9.4719 9.0433 15.0774 14.7763 6.3775
r2
содержит в точности те же значения, что и r1
.
Повторно инициализируйте генератор случайных чисел, используемый rand
и randn
с seed на основе текущего времени. randg
возвращает различные значения каждый раз, когда вы делаете это. Обратите внимание, что обычно это не требуется делать более одного раза за сеанс работы с MATLAB.
rng('shuffle'); randg(2,1,5);
[1] Marsaglia, G., and W. W. Tsang. Простой метод генерации гамма- Переменных. Транзакции ACM на математическом программном обеспечении. Том 26, 2000, стр. 363-372.