7

我想生成一个随机实对称方阵,其条目均匀分布在 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 不再均匀分布,有没有办法做到这一点?

4

2 回答 2

15

不,如果您这样做,则b不会均匀分布;它将具有三角形分布

像这样的东西怎么样:

a = rand(5);
b = triu(a) + triu(a,1)';

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

于 2012-03-17T13:44:39.603 回答
2

您只能在矩阵的一半上获得均匀分布的条目。

a=rand(5);
b=triu(a).'+triu(a,1);
于 2012-03-17T13:45:43.077 回答