Main Content

lognrnd

Números aleatorios de una distribución lognormal

Descripción

ejemplo

r = lognrnd(mu,sigma) genera un número aleatorio de la distribución lognormal con los parámetros de distribución mu (media de valores logarítmicos) y sigma (desviación estándar de valores logarítmicos).

r = lognrnd(mu,sigma,sz1,...,szN) genera un arreglo de números aleatorios lognormal, donde sz1,...,szN indica el tamaño de cada dimensión.

ejemplo

r = lognrnd(mu,sigma,sz) genera un arreglo de números aleatorios lognormal, donde el vector sz especifica size(r).

Ejemplos

contraer todo

Encuentre los parámetros de distribución a partir de la media y la varianza de una distribución lognormal y genere un valor aleatorio lognormal a partir de la distribución.

Encuentre los parámetros de distribución mu y sigma a partir de la media y la varianza.

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

Genere un valor aleatorio lognormal.

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

Guarde el estado actual del generador de números aleatorios. Después, cree un vector de 1 por 5 de números aleatorios lognormal a partir de la distribución lognormal con los parámetros 3 y 10.

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

    0.0000    1.8507    0.0000    0.0001    0.0000

Reinicie el estado del generador de números aleatorios a s y después cree un nuevo vector de 1 por 5 de números aleatorios. Los valores son los mismos que antes.

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

    0.0000    1.8507    0.0000    0.0001    0.0000

Cree una matriz de números aleatorios distribuidos de modo lognormal, con el mismo tamaño que un arreglo existente.

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

    1.7120    0.1045
    6.2582    2.3683

Puede combinar las dos líneas de código anteriores en una sola línea.

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

Argumentos de entrada

contraer todo

Media de los valores logarítmicos para la distribución lognormal, especificada como valor de escalar o un arreglo de valores de escalar.

Para generar números aleatorios de varias distribuciones, especifique mu y sigma utilizando arreglos. Si mu y sigma son arreglos, entonces los tamaños de los arreglos deben ser los mismos. Si mu o sigma es un escalar, entonces lognrnd expande el argumento del escalar en un arreglo constante del mismo tamaño que el otro argumento. Cada elemento en r es el número aleatorio generado de la distribución especificada por los correspondientes elementos en mu y sigma.

Ejemplo: [0 1 2; 0 1 2]

Tipos de datos: single | double

Desviación estándar de los valores logarítmicos de la distribución lognormal, especificada como un valor de escalar no negativo o un arreglo de valores de escalar no negativos.

Si sigma es cero, entonces la salida r siempre es igual a exp(mu).

Para generar números aleatorios de varias distribuciones, especifique mu y sigma utilizando arreglos. Si mu y sigma son arreglos, entonces los tamaños de los arreglos deben ser los mismos. Si mu o sigma es un escalar, entonces lognrnd expande el argumento del escalar en un arreglo constante del mismo tamaño que el otro argumento. Cada elemento en r es el número aleatorio generado de la distribución especificada por los correspondientes elementos en mu y sigma.

Ejemplo: [1 1 1; 2 2 2]

Tipos de datos: single | double

Tamaño de cada dimensión, especificado como argumentos separados de enteros. Por ejemplo, especificar 5,3,2 genera un arreglo de números aleatorios de 5 por 3 por 2 de la distribución de probabilidad lognormal.

Si mu o sigma es un arreglo, entonces las dimensiones sz1,...,szN especificadas deben coincidir con las dimensiones comunes de mu y sigma después de cualquier expansión de escalar necesaria. Los valores predeterminados de sz1,...,szN son las dimensiones comunes.

  • Si especifica un único valor de sz1, entonces r es una matriz cuadrada de tamaño sz1 por sz1.

  • Si el tamaño de cualquier dimensión es 0 o negativo, entonces r es un arreglo vacío.

  • Más allá de la segunda dimensión, lognrnd ignora las siguientes dimensiones con un tamaño de 1. Por ejemplo, lognrnd(mu,sigma,3,1,1,1) produce un vector de 3 por 1 de números aleatorios.

Ejemplo: 5,3,2

Tipos de datos: single | double

Tamaño de cada dimensión, especificado como vector fila de valores enteros. Por ejemplo, especificar [5 3 2] genera un arreglo de números aleatorios de 5 por 3 por 2 de la distribución de probabilidad lognormal.

Si mu o sigma es un arreglo, entonces las dimensiones sz especificadas deben coincidir con las dimensiones comunes de mu y sigma después de cualquier expansión de escalar necesaria. Los valores predeterminados de sz son las dimensiones comunes.

  • Si especifica un único valor de [sz1], entonces r es una matriz cuadrada de tamaño sz1 por sz1.

  • Si el tamaño de cualquier dimensión es 0 o negativo, entonces r es un arreglo vacío.

  • Más allá de la segunda dimensión, lognrnd ignora las siguientes dimensiones con un tamaño de 1. Por ejemplo, lognrnd(mu,sigma,[3,1,1,1]) produce un vector de 3 por 1 de números aleatorios.

Ejemplo: [5 3 2]

Tipos de datos: single | double

Argumentos de salida

contraer todo

Números aleatorios de una distribución lognormal, devueltos como un valor de escalar o un arreglo de valores de escalar con las dimensiones especificadas por sz1,...,szN o sz. Cada elemento en r es el número aleatorio generado de la distribución especificada por los correspondientes elementos en mu y sigma.

Más acerca de

contraer todo

Distribución lognormal

La distribución lognormal es una distribución de probabilidad cuyo logaritmo tiene una distribución normal.

La media m y la varianza v de una variable aleatoria lognormal son funciones de los parámetros de distribución lognormal µ y σ:

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

Además, puede calcular los parámetros de distribución lognormal µ y σ a partir de la media m y la varianza v:

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

Funcionalidad alternativa

  • lognrnd es una función específica para la distribución lognormal. Statistics and Machine Learning Toolbox™ también ofrece la función genérica random, que es compatible con varias distribuciones de probabilidad. Para utilizar random, cree un objeto de distribución de probabilidad LognormalDistribution y pase el objeto como un argumento de entrada o especifique el nombre de la distribución de probabilidad y sus parámetros. Tenga en cuenta que la función específica de distribución lognrnd es más rápida que la función genérica random.

  • Para generar números aleatorios de forma interactiva, utilice randtool, una interfaz de usuario para la generación de números aleatorios.

Referencias

[1] Marsaglia, G., and W. W. Tsang. “A Fast, Easily Implemented Method for Sampling from Decreasing or Symmetric Unimodal Density Functions.” SIAM Journal on Scientific and Statistical Computing. Vol. 5, Number 2, 1984, pp. 349–359.

[2] Evans, M., N. Hastings, and B. Peacock. Statistical Distributions. 2nd ed., Hoboken, NJ: John Wiley & Sons, Inc., 1993.

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a