Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

random

Variar aleatorio de la distribución de la mezcla gaussiana

Descripción

ejemplo

Y = random(gm) genera una variada 1 por aleatoria de la distribución de la mezcla gaussiana dimensional.mmgm

ejemplo

Y = random(gm,n) Devuelve variados aleatorios.n Cada fila de es una variante aleatoria generada a partir de la distribución de la mezcla gaussiana dimensional.Ymgm

ejemplo

[Y,compIdx] = random(___) también devuelve un vector de índice-by-1 para cualquiera de los argumentos de entrada en sintaxis anteriores. indica el componente de mezcla utilizado para generar el variado aleatorio TH.ncompIdxcompIdx(i)iY(i,:)

Ejemplos

contraer todo

Cree un objeto y genere variados aleatorios.gmdistribution

Defina los parámetros de distribución (medias y covarianzas) de una distribución de mezcla gaussiana bivariada de dos componentes.

mu = [1 2;-3 -5]; sigma = [1 1]; % shared diagonal covariance matrix

Cree un objeto mediante la función.gmdistributiongmdistribution De forma predeterminada, la función crea una mezcla de proporción igual.

gm = gmdistribution(mu,sigma)
gm =   Gaussian mixture distribution with 2 components in 2 dimensions Component 1: Mixing proportion: 0.500000 Mean:     1     2  Component 2: Mixing proportion: 0.500000 Mean:    -3    -5 

Genere 1000 variates aleatorios.

rng('default'); % For reproducibility [Y,compIdx] = random(gm,1000);

indica el componente de mezcla utilizado para generar el variado aleatorio TH.compIdx(i)iY(i,:) Cuente el número de aleatorias aleatorios generados por.Component1

numIdx1 = sum(compIdx == 1)
numIdx1 = 512 

genera alrededor de la mitad de los variados aleatorios utilizando porque tiene proporciones de mezcla iguales.AleatorioComponent1gm

Trace las aleatorias aleatorias generadas mediante el uso de.scatter

scatter(Y(:,1),Y(:,2),10,'.') % Scatter plot with points of size 10

Restablezca el generador de números aleatorios para generar el mismo variado aleatorio.

Defina los parámetros de distribución (medias, covarianzas y proporciones de mezcla) de dos componentes de mezcla gaussiana bivariada.

p = [0.4 0.6];               % Mixing proportions      mu = [1 2;-3 -5];            % Means sigma = cat(3,[2 .5],[1 1])  % Covariances 1-by-2-by-2 array
sigma =  sigma(:,:,1) =      2.0000    0.5000   sigma(:,:,2) =       1     1  

La función conmemora las covarianzas a lo largo de la tercera cota de matriz.cat Las matrices de covarianza definidas son matrices diagonales. contiene los elementos diagonales de la matriz de covarianza del componente.sigma(1,:,i)i

Cree un objeto mediante la función.gmdistributiongmdistribution

gm = gmdistribution(mu,sigma);

Guarde el estado actual del generador de números aleatorios y, a continuación, genere un variado aleatorio utilizando.gm

s = rng; r = random(gm)
r = 1×2

   -1.1661   -7.2588

Restaure el estado del generador de números aleatorios y, a continuación, genere un variado aleatorio utilizando.sgm Los valores son los mismos que antes.

rng(s); r1 = random(gm)
r1 = 1×2

   -1.1661   -7.2588

Argumentos de entrada

contraer todo

Distribución de la mezcla gaussiana, también llamada modelo de mezcla gaussiana (GMM), especificada como un objeto.gmdistribution

Puede crear un objeto mediante o.gmdistributiongmdistributionfitgmdist Utilice la función para crear un objeto especificando los parámetros de distribución.gmdistributiongmdistribution Utilice la función para ajustar un modelo a los datos dados un número fijo de componentes.fitgmdistgmdistribution

Número de variados aleatorios que se generarán, especificados como un entero positivo.

Tipos de datos: single | double

Argumentos de salida

contraer todo

Variable aleatoria, devuelta como un vector de 1 por numérico o una matriz numérica.mnm Cada fila de es una variante aleatoria generada a partir de la distribución de la mezcla gaussiana dimensional.Ymgm

Índice de componente, devuelto como un entero positivo o un vector de índice-por-1, donde indica el componente de mezcla utilizado para generar el variado aleatorio TH.ncompIdx(i)iY(i,:)

Introducido en R2007b