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

26 visualizaciones (últimos 30 días)
abbyeit
abbyeit el 25 de Oct. de 2021
Comentada: abbyeit el 25 de Oct. de 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!

Respuesta aceptada

Image Analyst
Image Analyst el 25 de Oct. de 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

Más respuestas (0)

Categorías

Más información sobre Operating on Diagonal Matrices en Help Center y File Exchange.

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by