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

Matlab 如何生成具有均匀分布项的随机实对称方阵,matlab,random,matrix,symmetric,Matlab,Random,Matrix,Symmetric,我想生成一个随机实对称平方矩阵,其条目均匀分布在0和1之间。 我的尝试是: a=rand(5); b=a+a.。 我担心的是,虽然矩阵a根据文档是均匀分布的,但矩阵b可能不是,因为两个随机数的平均值可能与原始数不同 我试着用 hist(a); 历史(b) 但不确定如何解释结果图。 编辑:根据奥利矩阵b不再均匀分布,有没有办法做到这一点?没有,如果你这样做,那么b将不会均匀分布;它将有一个新的开始 像这样的怎么样: a = rand(5); b = triu(a) + triu(a,1)'; 其

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

我担心的是,虽然矩阵a根据文档是均匀分布的,但矩阵b可能不是,因为两个随机数的平均值可能与原始数不同

我试着用
hist(a);
历史(b)
但不确定如何解释结果图。
编辑:根据奥利矩阵b不再均匀分布,有没有办法做到这一点?

没有,如果你这样做,那么
b
将不会均匀分布;它将有一个新的开始

像这样的怎么样:

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

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

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

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

谢谢,奥利,关于如何使其均匀分布有什么建议吗?谢谢,奥利,那么使用triu函数可以保持均匀分布吗?我刚刚运行了它,hist(b)看起来与我的矩阵b不同。@Aina:这种方法避免将任何元素添加在一起。@Aina:25个元素不足以生成有用的直方图。比如说,你应该生成10000个这样的随机矩阵,然后对整个事情做一个直方图。谢谢,奥利,刚刚尝试创建一个1000x1000矩阵,然后将其直方图与使用你的方法创建的矩阵b的直方图进行比较。看起来一模一样!再次感谢!感谢g24l,所以不可能有一个均匀分布的随机对称矩阵?@Aina:我刚才说的是如何生成矩阵。矩阵的元素是均匀分布的,但不是随机的,也不是iid。