【问题标题】:How to produce random symmetric matrix given the number of vertices?给定顶点数,如何生成随机对称矩阵?
【发布时间】:2017-11-27 16:33:08
【问题描述】:

在给定顶点数的情况下,是否有一种简单的方法可以生成一个由 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];

【问题讨论】:

  • 第一个不对称。
  • 我的错误。谢谢。

标签: matlab matrix random transpose


【解决方案1】:

您可以生成一个随机矩阵并提取它的下三角部分,然后使用其转置执行OR

n = 4;
a=tril(randi(0:1,n),-1);
result = a|a.';

【讨论】:

    猜你喜欢
    • 2015-01-12
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-30
    • 1970-01-01
    • 2012-09-01
    • 2022-01-03
    相关资源
    最近更新 更多