MATLAB Answers


How can I row-normalize a symmetric matrix so each row sums to 1?

Asked by Rajendra
on 21 Mar 2019
Latest activity Edited by Rajendra
on 21 Mar 2019
Dear MATLAB community,
I am working with the bucky (“W=bucky”) matrix, an NxN matrix where N=60. I would like to row-normalize this matrix so that each row sums up to 1. I am aware of the command norm (and there might be other commands), but I'd like to command this manually, so I can better understand the process behind the calculaton.
If anyone has a clue on how to write this command manually, it is kindly appreciated. Thank you in advance.


? I do not find anything named normw() ?
Sorry, that was a typo! Let me fix that. I meant the command norm.

Sign in to comment.

1 Answer

Answer by Walter Roberson
on 21 Mar 2019

The below does retain symmetry. I am not positive at the moment that it would work for matrix that have non-zero entries on the diagonal.
newW = W ./ sum(W,2);


Sign in to comment.