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

4 views (last 30 days)
abbyeit
abbyeit on 25 Oct 2021
Commented: abbyeit on 25 Oct 2021
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)

Community Treasure Hunt

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

Start Hunting!

Translated by