Main Content

gamrnd

Números aleatorios gamma

Descripción

ejemplo

r = gamrnd(a,b) genera un número aleatorio de la distribución gamma con el parámetro de forma a y el parámetro de escala b.

ejemplo

r = gamrnd(a,b,sz1,...,szN) genera un arreglo de números aleatorios a partir de la distribución gamma, donde sz1,...,szN indica el tamaño de cada dimensión.

ejemplo

r = gamrnd(a,b,sz) genera un arreglo de números aleatorios a partir de la distribución gamma, donde el vector sz especifica size(r).

Ejemplos

contraer todo

Genere un solo número aleatorio a partir de la distribución gamma con forma 5 y escala 7.

r = gamrnd(5,7)
r = 68.9857

Genere cinco números aleatorios a partir de las distribuciones gamma con valores de parámetro de forma 1 a 5 y un parámetro de escala 2.

a1 = 1:5;
b1 = 2;
r1 = gamrnd(a1,b1)
r1 = 1×5

    7.1297    6.0918    2.1010    8.7253   29.5447

De forma predeterminada, gamrnd genera un arreglo que es del mismo tamaño que a y b después de cualquier expansión de escalar necesaria, de modo que todos los escalares se expanden para igualar las dimensiones del resto de salidas.

Si especifica las dimensiones de arreglo sz1,...,szN o sz, deben coincidir con las dimensiones de a y b después de cualquier expansión de escalar necesaria.

Genere un arreglo de 2 por 3 de números aleatorios para la distribución gamma con un parámetro de forma 3 y un parámetro de escala 7.

sz = [2 3];
r2 = gamrnd(3,7,sz)
r2 = 2×3

   17.9551   41.3983    7.9865
   16.4204   40.0048   44.1909

Genere seis números aleatorios para las distribuciones gamma con valores de parámetro de forma 1 a 6 y valores de parámetro de escala 5 a 10, respectivamente.

a3 = 1:6;
b3 = 5:10;
r3 = gamrnd(a3,b3,1,6)
r3 = 1×6

    9.5930    7.8289   11.0360   15.0367   28.1456   98.2664

Argumentos de entrada

contraer todo

Parámetro de forma de la distribución gamma, especificado como un valor de escalar no negativo o un arreglo de valores de escalar no negativos.

Para generar números aleatorios de varias distribuciones, especifique a y b utilizando arreglos. Si a y b son arreglos, entonces los tamaños de los arreglos deben ser los mismos. Si a o b es un escalar, entonces gamrnd 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 a y b.

Ejemplo: [3 4 7 9]

Tipos de datos: single | double

Parámetro de escala de la distribución gamma, especificado como un valor de escalar no negativo o un arreglo de valores de escalar no negativos.

Para generar números aleatorios de varias distribuciones, especifique a y b utilizando arreglos. Si a y b son arreglos, entonces los tamaños de los arreglos deben ser los mismos. Si a o b es un escalar, entonces gamrnd 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 a y b.

Ejemplo: [1 1 2 2]

Tipos de datos: single | double

Tamaño de cada dimensión, especificado como argumentos separados de enteros.

Si a o b es un arreglo, entonces las dimensiones sz1,...,szN especificadas deben coincidir con las dimensiones comunes de a y b 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, gamrnd ignora las siguientes dimensiones con un tamaño de 1. Por ejemplo, gamrnd(2,5,3,1,1,1) produce un vector de 3 por 1 de números aleatorios a partir de la distribución gamma con forma 2 y escala 5.

Ejemplo: 2,4

Tipos de datos: single | double

Tamaño de cada dimensión, especificado como vector fila de valores enteros.

Si a o b es un arreglo, entonces las dimensiones sz especificadas deben coincidir con las dimensiones comunes de a y b 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, gamrnd ignora las siguientes dimensiones con un tamaño de 1. Por ejemplo, gamrnd(2,5,[3 1 1 1]) produce un vector de 3 por 1 de números aleatorios a partir de la distribución gamma con forma 2 y escala 5.

Ejemplo: [2 4]

Tipos de datos: single | double

Argumentos de salida

contraer todo

Los números aleatorios gamma, devueltos como valor de escalar no negativo o arreglo de valores de escalar no negativos 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 a y b.

Funcionalidad alternativa

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

  • Utilice randg para generar números aleatorios de la distribución gamma estándar (escala unitaria).

  • 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, George, and Wai Wan Tsang. “A Simple Method for Generating Gamma Variables.” ACM Transactions on Mathematical Software 26, no. 3 (September 1, 2000): 363–72. https://doi.org/10.1145/358407.358414.

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a