我想生成一个随机的实对称方阵,其条目均匀分布在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不再均匀分布,是否有办法实现这一目标?
答案 0 :(得分:14)
不,如果你这样做,那么b
将不会均匀分布;它会有一个triangular distribution。
这样的事情怎么样:
a = rand(5);
b = triu(a) + triu(a,1)';
其中triu()
采用矩阵的上三角部分。
答案 1 :(得分:2)
您只能在矩阵的一半上获得均匀分布的条目。
a=rand(5);
b=triu(a).'+triu(a,1);