Generating a random symmetric matrix

I am trying to generate a random symmetric matrix consisting of 1s and 0s (adjacency matrix)
I have the following;
A = randi(2,N,N) - 1 % Generates a random nxn matrix with values 0 or 1 (Adjacency Matrix)
However this produces a random adjacency matrix which is not symmetric.
How can I change this code to make the matrix symmetric?

 採用された回答

Alexandra Harkai
Alexandra Harkai 2016 年 11 月 16 日
編集済み: Alexandra Harkai 2016 年 11 月 16 日

4 投票

A = randi(2,N,N) - 1;
A = A - tril(A,-1) + triu(A,1)';
This will copy the upper triangle to the lower triangle.

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeCreating and Concatenating Matrices についてさらに検索

製品

質問済み:

2016 年 11 月 16 日

編集済み:

2016 年 11 月 16 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by