Matlab 如何在给定顶点数的情况下生成随机对称矩阵?
在给定顶点数的情况下,有没有一种简单的方法可以生成0和1的随机矩阵,即在对角线上对称(对角线上只有零) 示例:Matlab 如何在给定顶点数的情况下生成随机对称矩阵?,matlab,matrix,random,transpose,Matlab,Matrix,Random,Transpose,在给定顶点数的情况下,有没有一种简单的方法可以生成0和1的随机矩阵,即在对角线上对称(对角线上只有零) 示例: somefunction(3) = [ 0 1 1; 1 0 0; 1 0 0]; somefunction(4) = [ 0 1 1 1; 1 0 0 1; 1 0 0 1;
somefunction(3) = [ 0 1 1;
1 0 0;
1 0 0];
somefunction(4) = [ 0 1 1 1;
1 0 0 1;
1 0 0 1;
1 1 1 0];
您可以生成一个随机矩阵并提取其下三角部分,然后使用其转置执行
或:
n = 4;
a=tril(randi(0:1,n),-1);
result = a|a.';
您可以生成一个随机矩阵并提取其下三角部分,然后使用其转置执行或:
n = 4;
a=tril(randi(0:1,n),-1);
result = a|a.';
第一个不是对称的,我错了。谢谢。第一个不是对称的。我错了。非常感谢。