Is there a way to fill a matrix around the diagonals?

10 views (last 30 days)
I have a vector that I need to use to fill in the rows of a matrix. This vector will repeat over each row in the matrix except for the indices corresponding to the diagonals. Is there any way to do this without the need of a for loop?

Accepted Answer

David Hill
David Hill on 10 Apr 2020
What are the values for the diagonals? I assume you are talking about a square matrix. The below zeros out the diagonals.
x=repmat(v,length(v),1).*~eye(length(v)).*rot90(~eye(length(v)));
  6 Comments

Sign in to comment.

More Answers (0)

Categories

Find more on Operating on Diagonal Matrices 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!