Generating a random symmetric matrix

16 views (last 30 days)
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?

Accepted Answer

Alexandra Harkai
Alexandra Harkai on 16 Nov 2016
Edited: Alexandra Harkai on 16 Nov 2016
A = randi(2,N,N) - 1;
A = A - tril(A,-1) + triu(A,1)';
This will copy the upper triangle to the lower triangle.

More Answers (0)


Find more on Linear Algebra in Help Center and File Exchange


Community Treasure Hunt

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

Start Hunting!