How do I change the values of diag(matrix) ?

24 views (last 30 days)
Hello!
I am wondering why I cant change the values of diag(matrix) to different values.
>> matrix =
3 0 0
0 4 0
0 0 5
>> diag(matrix) = 5;
What I am trying to do with that code is change the values 3, 4, 5 in the matrix to all have the value 5. But it does not work.
How can I make this work?
Thanks in advance!

Accepted Answer

Image Analyst
Image Analyst on 25 Oct 2021
Try this (using eye() to get a mask of the diagonal elements):
matrix = [...
3 0 0
0 4 0
0 0 5]
diagonalMask = logical(eye(size(matrix)))
matrix(diagonalMask) = 5

More Answers (0)

Categories

Find more on Operating on Diagonal Matrices in Help Center and File Exchange

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!