如何生成具有均匀分布的条目的随机实对称方阵

Ain*_*ina 7 random matlab symmetric matrix

我想生成一个随机的实对称方阵,条目均匀分布在0和1之间.我的尝试是: a = rand(5); b = a + a.'

我担心的是,虽然矩阵a是根据文档http://www.mathworks.com.au/help/techdoc/ref/rand.html统一分布的,但矩阵b可能不是,因为两个随机数的平均值可能不是与原始号码相同.

我试图使用 hist(a); hist(b) 但不确定如何解释结果图.编辑:根据Oli矩阵b不再均匀分布,是否有办法实现这一目标?

Oli*_*rth 15

不,如果你这样做,那么b将不会均匀分布; 它将具有三角形分布.

这样的事情怎么样:

a = rand(5);
b = triu(a) + triu(a,1)';
Run Code Online (Sandbox Code Playgroud)

其中triu()取矩阵的上三角部分.