我正在进行模式识别项目,在那里我想用给定参数(均值和协方差矩阵)对2维正态分布进行采样。例如,如果我想从正态分布中获得100个样本,我使用mvnrnd(mu,sigma,100)
,其中假设mu和sigma可用。但是mvnrnd
会返回100个唯一的样本,但我希望样本中包含重复的值。 (我的意思是如何获得100个样本但不一定具有唯一值)我该怎么办?
答案 0 :(得分:1)
在mvnrnd
文档中没有说保证样本是唯一的,但如果你的问题以合理的方式提出,那么这不应该是一个问题。
无论哪种方式,如果您对mvnrnd
不满意,这应该是等效的:
% draw 100 samples from a 2D bivariate normal distribution with unit variance and zero mean:
R = randn(2, 100);
% scale by the square root (see http://en.wikipedia.org/wiki/Cholesky_decomposition) of sigma
R1 = chol(sigma)*R;
% offset by the mean
R2 = bsxfun(@plus, R1, mu);
答案 1 :(得分:0)
查看normrnd()
功能。它生成正态分布的随机数。
要生成具有均值1-by-100
和标准差mu
的正态分布随机数的sigma
向量,请使用以下语句。
X = normrnd(mu,sigma,[1 100]);