random
高斯混合分布的随机变量
说明
示例
生成随机变量
创建一个 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
生成的随机变量的数目。
numIdx1 = sum(compIdx == 1)
numIdx1 = 512
random
使用 Component
1
生成大约一半的随机变量,因为 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
输入参数
gm
— 高斯混合分布
gmdistribution
对象
高斯混合分布,也称为高斯混合模型 (GMM),指定为 gmdistribution
对象。
您可以使用 gmdistribution
或 fitgmdist
创建一个 gmdistribution
对象。通过指定分布参数,使用 gmdistribution
函数创建一个 gmdistribution
对象。在给定固定成分数量的情况下,使用 fitgmdist
函数对数据进行 gmdistribution
模型拟合。
n
— 随机变量的数目
1 (默认) | 正整数
要生成的随机变量的数目,指定为正整数。
数据类型: single
| double
输出参量
版本历史记录
在 R2007b 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)