How to replace diagonal of square matrices within a cell array?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Adnan Habib
el 11 de Sept. de 2021
Comentada: Star Strider
el 13 de Sept. de 2021
I have a 940X1 cell array where each element is a 298X298 square matrix. I want to replace the main diagonals of each square matrix with zero. Is there a way to do it?
0 comentarios
Respuesta aceptada
Star Strider
el 11 de Sept. de 2021
The easiest way is to subtract the diagonal of each matrix from the matrix —
C = {rand(4); rand(4); rand(4)}
Cr = cellfun(@(x) x-diag(x), C, 'Unif',0)
Cr{1}
Cr{3}
Make appropriate changes to get different results.
.
8 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Operating on Diagonal Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!