Main Content

normrnd

Números aleatorios normales

Descripción

ejemplo

r = normrnd(mu,sigma) genera un número aleatorio de la distribución normal con el parámetro principal mu y el parámetro de desviación estándar sigma.

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

ejemplo

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

Ejemplos

contraer todo

Genere un único valor aleatorio de la distribución normal estándar.

rng('default') % For reproducibility
r = normrnd(0,1)
r = 0.5377

Guarde el estado actual del generador de números aleatorios. Después, cree un vector de 1 por 5 de números aleatorios normales a partir de la distribución normal con media de 3 y desviación estándar de 10.

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

    8.3767   21.3389  -19.5885   11.6217    6.1877

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 = normrnd(3,10,[1,5])
r1 = 1×5

    8.3767   21.3389  -19.5885   11.6217    6.1877

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

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

    0.5377   -2.2588
    1.8339    0.8622

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

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

Argumentos de entrada

contraer todo

Media de la distribución normal, 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 normrnd 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

La desviación estándar de la distribución normal, 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 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 normrnd 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 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.

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, normrnd ignora las siguientes dimensiones con un tamaño de 1. Por ejemplo, especificar 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.

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, normrnd ignora las siguientes dimensiones con un tamaño de 1. Por ejemplo, especificar [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 normales, 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.

Funcionalidad alternativa

  • normrnd es una función específica para la distribución normal. 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 NormalDistribution 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 normrnd es más rápida que la función genérica random.

  • Utilice randn para generar números aleatorios de la distribución normal estándar.

  • 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