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

27 vues (au cours des 30 derniers jours)
abbyeit
abbyeit le 25 Oct 2021
Commenté : abbyeit le 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!

Réponse acceptée

Image Analyst
Image Analyst le 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

Plus de réponses (0)

Catégories

En savoir plus sur Operating on Diagonal Matrices dans Help Center et File Exchange

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by