MATLAB 帮助中心
高斯混合分布的随机变量
Y = random(gm)
Y = random(gm,n)
[Y,compIdx] = random(___)
Y = random(gm) 从 m 维高斯混合分布 gm 中生成一个 1×m 随机变量。
Y
gm
示例
Y = random(gm,n) 返回 n 个随机变量。Y 的每行都是一个从 m 维高斯混合分布 gm 中生成的随机变量。
n
[Y,compIdx] = random(___) 还为上述语法中的任一输入参量返回一个 n×1 索引向量 compIdx。compIdx(i) 表示用于生成第 i 个随机变量 Y(i,:) 的混合成分。
compIdx
compIdx(i)
i
Y(i,:)
全部折叠
创建一个 gmdistribution 对象并生成随机变量。
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
生成 1000 个随机变量。
rng('default'); % For reproducibility [Y,compIdx] = random(gm,1000);
compIdx(i) 表示用于生成第 i 个随机变量 Y(i,:) 的混合成分。计算由 Component 1 生成的随机变量的数目。
Component
1
numIdx1 = sum(compIdx == 1)
numIdx1 = 512
random 使用 Component 1 生成大约一半的随机变量,因为 gm 具有相等的混合比例。
random
使用 scatter 绘制生成的随机变量。
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 的协方差矩阵的对角线元素。
cat
sigma(1,:,i)
使用 gmdistribution 函数创建一个 gmdistribution 对象。
gm = gmdistribution(mu,sigma);
保存随机数生成器的当前状态,然后使用 gm 生成一个随机变量。
s = rng; r = random(gm)
r = 1×2 -1.1661 -7.2588
将随机数生成器的状态恢复为 s,然后使用 gm 生成一个随机变量。值与之前相同。
s
rng(s); r1 = random(gm)
r1 = 1×2 -1.1661 -7.2588
高斯混合分布,也称为高斯混合模型 (GMM),指定为 gmdistribution 对象。
您可以使用 gmdistribution 或 fitgmdist 创建一个 gmdistribution 对象。通过指定分布参数,使用 gmdistribution 函数创建一个 gmdistribution 对象。在给定固定成分数量的情况下,使用 fitgmdist 函数对数据进行 gmdistribution 模型拟合。
fitgmdist
要生成的随机变量的数目,指定为正整数。
数据类型: single | double
single
double
随机变量,以 1×m 数值向量或 n×m 数值矩阵形式返回。Y 的每行都是一个从 m 维高斯混合分布 gm 中生成的随机变量。
成分索引,以正整数或 n×1 索引向量形式返回,其中 compIdx(i) 表示用于生成第 i 个随机变量 Y(i,:) 的混合成分。
在 R2007b 中推出
gmdistribution | fitgmdist | mvnrnd | pdf | cdf
mvnrnd
pdf
cdf
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处