lognrnd

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

Описание

пример

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

пример

r = lognrnd(mu,sigma,sz1,...,szN) или r = lognrnd(mu,sigma,[sz1,...,szN]) генерирует sz1- ⋯-by-szN массив логарифмически нормальных случайных чисел.

Примеры

свернуть все

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

Найдите параметры распределения 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] генерирует 5 3 2 массивами случайных чисел от вероятностного распределения.

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

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

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

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

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

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

свернуть все

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

Больше о

свернуть все

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

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

Средний m и отклонение v логарифмически нормальной случайной переменной являются функциями логарифмически нормальных параметров распределения µ и σ:

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

Кроме того, можно вычислить логарифмически нормальные параметры распределения µ и σ от среднего m и отклонения v:

μ=журнал(m2/v+m2)σ=журнал(v/m2+1)

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

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

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

Ссылки

[1] Marsaglia, G. и В. В. Цанг. “Быстрый, Легко Реализованный метод для Выборки от Уменьшения или Симметричных Одномодовых Функций плотности”. SIAM Journal на Научном и Статистическом Вычислении. Издание 5, Номер 2, 1984, стр 349–359.

[2] Эванс, M., Н. Гастингс и Б. Пикок. Статистические Распределения. 2-й редактор, Хобокен, NJ: John Wiley & Sons, Inc., 1993.

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

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

Для просмотра документации необходимо авторизоваться на сайте