matlab - 给定一个协方差矩阵,在Matlab中生成一个高斯随机变量

标签 matlab statistics probability

给定 M x M 所需的协方差 R 和所需数量的样本向量,N 计算 N x M 高斯随机向量, Vanilla MATLAB 中的 X(即不能使用 r = mvnrnd(MU,SIGMA,cases))。

不太确定如何解决这个问题,通常你需要一个协方差和均值 generate a Gaussian random variable .我认为 sqrtmchol 可能会有用。

最佳答案

如果您可以访问 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/

相关文章:

matlab - 如何在 MATLAB 中将张量的维度折叠为标量

matlab - 以编程方式导出图形 (R2019a)

algorithm - 估计下载时间的更好算法

python - 如何在 Python 中计算 PDF(概率密度函数)?

python - 机器学习用于查找偶数/奇数,为两个不同的分类器获得错误/正确的输出

algorithm - 近似算法-使用期望

Matlab - 用 surf 和 min 函数减去两个 3D 图形

matlab - 如何在 MATLAB 中找到一周的第一个工作日?

r - 如何始终确保在 R 中指定组大小的混洗样本

c# - 每次 Random.Next() 调用时返回所有数字的概率是否相同?