lognrnd

Логнормальные случайные числа

Описание

пример

r = lognrnd(mu,sigma) генерирует случайное число из логнормального распределения с параметрами распределения mu (среднее из логарифмических значений) и sigma (стандартное отклонение логарифмических значений).

r = lognrnd(mu,sigma,sz1,...,szN) генерирует массив логнормальных случайных чисел, где sz1,...,szN указывает размер каждой размерности.

пример

r = lognrnd(mu,sigma,sz) генерирует массив логнормальных случайных чисел, где вектор sz задает size(r).

Примеры

свернуть все

Найдите параметры распределения от среднего и отклонения логнормального распределения и сгенерируйте логнормальное случайное значение от распределения.

Найдите параметры распределения mu и sigma от среднего и отклонения.

m = 1; % mean
v = 2; % variance
mu = log((m^2)/sqrt(v+m^2))
mu = -0.5493
sigma = sqrt(log(v/(m^2)+1))
sigma = 1.0481

Сгенерируйте логнормальное случайное значение.

rng('default') % For reproducibility
r = lognrnd(mu,sigma)
r = 1.0144

Сохраните текущее состояние генератора случайных чисел. Затем создайте вектор 1 на 5 логнормальных случайных чисел из логнормального распределения с параметрами 3 и 10.

s = rng;
r = lognrnd(3,10,[1,5])
r = 1×5
109 ×

    0.0000    1.8507    0.0000    0.0001    0.0000

Восстановите состояние генератора случайных чисел в s, а затем создайте новый вектор 1 на 5 случайных чисел. Значения те же, что и прежде.

rng(s);
r1 = lognrnd(3,10,[1,5])
r1 = 1×5
109 ×

    0.0000    1.8507    0.0000    0.0001    0.0000

Создайте матрицу локально распределенных случайных чисел с таким же размером, как и существующий массив.

A = [3 2; -2 1];
sz = size(A);
R = lognrnd(0,1,sz)
R = 2×2

    1.7120    0.1045
    6.2582    2.3683

Можно объединить предыдущие две строки кода в одну линию.

R = lognrnd(1,0,size(A));

Входные параметры

свернуть все

Среднее значение логарифмических значений для логнормального распределения, заданное в виде скалярного значения или массива скалярных значений.

Чтобы сгенерировать случайные числа из нескольких распределений, задайте mu и sigma использование массивов. Если оба mu и sigma являются массивами, тогда размеры массивов должны быть одинаковыми. Если либо mu или sigma является скаляром, тогда lognrnd расширяет скалярный аргумент в постоянный массив того же размера, что и другой аргумент. Каждый элемент в r - случайное число, сгенерированное из распределения, заданного соответствующими элементами в mu и sigma.

Пример: [0 1 2; 0 1 2]

Типы данных: single | double

Стандартное отклонение логарифмических значений для логнормального распределения, заданное как неотрицательное скалярное значение или массив неотрицательных скалярных значений.

Если sigma равен нулю, затем выводится r всегда равно exp(mu).

Чтобы сгенерировать случайные числа из нескольких распределений, задайте mu и sigma использование массивов. Если оба mu и sigma являются массивами, тогда размеры массивов должны быть одинаковыми. Если либо mu или sigma является скаляром, тогда lognrnd расширяет скалярный аргумент в постоянный массив того же размера, что и другой аргумент. Каждый элемент в r - случайное число, сгенерированное из распределения, заданного соответствующими элементами в mu и sigma.

Пример: [1 1 1; 2 2 2]

Типы данных: single | double

Размер каждой размерности, заданный как отдельные аргументы целых чисел. Для примера укажите 5,3,2 генерирует массив случайных чисел 5 на 3 на 2 из логнормальных распределений вероятностей.

Если либо mu или sigma - массив, затем заданные измерения sz1,...,szN должен совпадать с общими размерностями mu и sigma после любого необходимого скалярного расширения. Значения по умолчанию sz1,...,szN являются общими размерностями.

  • Если вы задаете одно значение sz1, затем r - квадратная матрица размера sz1-by- sz1.

  • Если размер любой размерности 0 или отрицательное, затем r - пустой массив.

  • За пределами второго измерения, lognrnd игнорирует последующие измерения с размером 1. Для примера, lognrnd(mu, sigma,3,1,1,1) производит вектор 3 на 1 случайных чисел.

Пример: 5,3,2

Типы данных: single | double

Размер каждой размерности, заданный как вектор-строка из целых чисел. Для примера укажите [5 3 2] генерирует массив случайных чисел 5 на 3 на 2 из логнормальных распределений вероятностей.

Если либо mu или sigma - массив, затем заданные измерения sz должен совпадать с общими размерностями mu и sigma после любого необходимого скалярного расширения. Значения по умолчанию sz являются общими размерностями.

  • Если вы задаете одно значение [sz1], затем r - квадратная матрица размера sz1-by- sz1.

  • Если размер любой размерности 0 или отрицательное, затем r - пустой массив.

  • За пределами второго измерения, lognrnd игнорирует последующие измерения с размером 1. Для примера, lognrnd(mu, sigma,[3,1,1,1]) производит вектор 3 на 1 случайных чисел.

Пример: [5 3 2]

Типы данных: single | double

Выходные аргументы

свернуть все

Логнормальные случайные числа, возвращенные в виде скалярного значения или массива скалярных значений с размерностями, заданными sz1,...,szN или sz. Каждый элемент в r - случайное число, сгенерированное из распределения, заданного соответствующими элементами в mu и sigma.

Подробнее о

свернуть все

Логнормальное распределение

Логнормальное распределение является распределением вероятностей, логарифм которого имеет нормальное распределение.

Среднее m и v дисперсии lognormal random переменной являются функциями lognormal distribution parameters µ и σ:

m=exp(μ+σ2/2)v=exp(2μ+σ2)(exp(σ2)1)

Кроме того, можно вычислить lognormal distribution parameters µ и σ из среднего m и v дисперсии:

μ=log(m2/v+m2)σ=log(v/m2+1)

Альтернативная функциональность

  • lognrnd является функцией, специфичной для логнормального распределения. Statistics and Machine Learning Toolbox™ также предлагает общую функцию random, который поддерживает различные распределения вероятностей. Использовать random, создать LognormalDistribution объект распределения вероятностей и передать объект как входной параметр или задать имя распределения вероятностей и его параметры. Обратите внимание, что специфичная для распределения функция lognrnd быстрее, чем обобщенная функция random.

  • Чтобы сгенерировать случайные числа в интерактивном режиме, используйте randtool, пользовательский интерфейс для генерации случайных чисел.

Ссылки

[1] Marsaglia, G., and W. W. Tsang. Быстрый, легко реализованный метод выборки из уменьшающихся или симметричных функций юнимодальной плотности. SIAM Journal on Scientific and Statistical Computing. Том 5, № 2, 1984, стр. 349-359.

[2] Эванс, М., Н. Гастингс и Б. Пикок. Статистические распределения. 2-е изд., Хобокен, Нью-Джерси: John Wiley & Sons, Inc., 1993.

Расширенные возможности

.
Представлено до R2006a