random

Случайная варьируемая величина от Гауссова распределения смеси

Описание

пример

Y = random(gm) генерирует 1 m случайной варьируемой величиной от m - размерное Гауссово распределение смеси gm.

пример

Y = random(gm,n) возвращает n случайные варьируемые величины. Каждая строка Y случайная варьируемая величина, сгенерированная от m - размерное Гауссово распределение смеси gm.

пример

[Y,compIdx] = random(___) также возвращает n- 1 вектор индекса compIdx для любого из входных параметров в предыдущих синтаксисах. compIdx(i) указывает, что компонент смеси раньше генерировал ith случайная варьируемая величина Y(i,:).

Примеры

свернуть все

Создайте gmdistribution возразите и сгенерируйте случайные варьируемые величины.

Задайте параметры распределения (средние значения и ковариации) двухкомпонентного двумерного Гауссова распределения смеси.

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

Создайте gmdistribution объект при помощи gmdistribution функция. По умолчанию функция создает равную смесь пропорции.

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

Сгенерируйте 1 000 случайных варьируемых величин.

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

compIdx(i) указывает, что компонент смеси раньше генерировал ith случайная варьируемая величина Y(i,:). Считайте количество случайных варьируемых величин сгенерированным Component1 .

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

random генерирует приблизительно половину случайных варьируемых величин с помощью Component1 потому что gm имеет равные пропорции смешивания.

Постройте сгенерированные случайные варьируемые величины при помощи scatter.

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

Сбросьте генератор случайных чисел, чтобы сгенерировать ту же случайную варьируемую величину.

Задайте параметры распределения (средние значения, ковариации и смешивание пропорций) двух двумерных Гауссовых компонентов смеси.

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

cat функция конкатенирует ковариации вдоль третьего измерения массива. Заданные ковариационные матрицы являются диагональными матрицами. sigma(1,:,i) содержит диагональные элементы ковариационной матрицы i компонента.

Создайте gmdistribution объект при помощи gmdistribution функция.

gm = gmdistribution(mu,sigma);

Сохраните текущее состояние генератора случайных чисел, и затем сгенерируйте случайную варьируемую величину с помощью gm.

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

   -1.1661   -7.2588

Восстановите состояние генератора случайных чисел к s, и затем сгенерируйте случайную варьируемую величину с помощью gmЗначения те же, что и прежде.

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

   -1.1661   -7.2588

Входные параметры

свернуть все

Гауссово распределение смеси, также названное смешанной гауссовской моделью (GMM), заданной как gmdistribution объект.

Можно создать gmdistribution объект с помощью gmdistribution или fitgmdist. Используйте gmdistribution функция, чтобы создать gmdistribution объект путем определения параметров распределения. Используйте fitgmdist функционируйте, чтобы соответствовать gmdistribution модель к данным, учитывая постоянное число компонентов.

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

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

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

свернуть все

Случайная варьируемая величина, возвращенная как 1 m числовым вектором или n- m числовая матрица. Каждая строка Y случайная варьируемая величина, сгенерированная от m - размерное Гауссово распределение смеси gm.

Индекс компонента, возвращенный как положительное целое число или n- 1 вектор индекса, где compIdx(i) указывает, что компонент смеси раньше генерировал ith случайная варьируемая величина Y(i,:).

Представленный в R2007b