我想在MATLAB中生成一个随机向量,其分布N(0,σ^2*I_dxd)
d(维度)可以是任意数字。我怎样才能做到这一点?提前致谢
如果方差/协方差矩阵是σ^2*I
,那么法线是独立的。生成d
独立N(0,σ^2)
,或d
标准法线,并乘以σ
。
我想你想要randn(d,1) * sigma
,其中randn()
和sigma
是问题陈述中的标准差σ。
你刚才谈到d
生成的独立同分布随机变量,每个变量都有正态分布,对吧?
你需要的命令是randn
所以如果你输入help randn
,你应该能够搞清楚。
假设你的I
在对角线外面为零:
randn(length(σ^2*I_dxd),1).*diag(σ^2*I_dxd)
如果I
在对角线之外不为零,则会变得更复杂一些。