如何在matlab中生成分布N(0,sigma ^ 2 * Identity matrix(dxd))的随机向量

问题描述 投票:0回答:3

我想在MATLAB中生成一个随机向量,其分布N(0,σ^2*I_dxd) d(维度)可以是任意数字。我怎样才能做到这一点?提前致谢

matlab random vector
3个回答
1
投票

如果方差/协方差矩阵是σ^2*I,那么法线是独立的。生成d独立N(0,σ^2),或d标准法线,并乘以σ


0
投票

我想你想要randn(d,1) * sigma,其中randn()sigma是问题陈述中的标准差σ。

你刚才谈到d生成的独立同分布随机变量,每个变量都有正态分布,对吧?


0
投票

你需要的命令是randn所以如果你输入help randn,你应该能够搞清楚。

假设你的I在对角线外面为零:

randn(length(σ^2*I_dxd),1).*diag(σ^2*I_dxd)

如果I在对角线之外不为零,则会变得更复杂一些。

© www.soinside.com 2019 - 2024. All rights reserved.