Гамма случайные числа с модульной шкалой
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
- m
матрица случайных значений, выбранных из гамма распределений параметрами формы A
A
любой m
- m
матрица или скаляр. Если A
скаляр, randg
использование, что одно значение параметров формы, чтобы сгенерировать все элементы Y
.
Y = randg(A,m,n,p,...)
или Y =
randg(A,[m,n,p,...])
возвращает m
- n
- p
- ...
массив случайных значений, выбранных из гамма распределений параметрами формы A
A
любой m
- n
- p
- ...
массив или скаляр.
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. и В. В. Цанг. “Простой метод для Генерации Гамма Переменных”. Транзакции ACM на Mathematical Software. Издание 26, 2000, стр 363–372.