给定 M x M
所需的协方差 R
和所需数量的样本向量,N
计算 N x M
高斯随机向量, Vanilla MATLAB 中的 X
(即不能使用 r = mvnrnd(MU,SIGMA,cases)
)。
不太确定如何解决这个问题,通常你需要一个协方差和均值 generate a Gaussian random variable .我认为 sqrtm
和 chol
可能会有用。
最佳答案
如果您可以访问 MATLAB 统计工具箱,您可以在 MATLAB 中键入 edit mvnrnd
以查看他们的解决方案。
[T p] = chol(sigma);
if m1 == c
mu = mu';
end
mu = mu(ones(cases,1),:);
r = randn(cases,c) * T + mu;
指出这一点感觉几乎像是作弊,但编辑 MATLAB 的源代码对于理解一般事物非常有用。如果您没有工具箱,也可以在 google 上搜索 mvnrnd.m
。
关于matlab - 给定一个协方差矩阵,在Matlab中生成一个高斯随机变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18904308/