How do I replace the zeros in a matrix with another integer, or with a pos or neg infinity?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I have a 145x145 distance matrix where: (1,1)=0 (2,2)=0 ... Can I replace just the diagonal with infinity values? There are other zeros in the matrix, but I may or may not want to keep those. Is there a process that could replace this diagonal of all zeros with a diagonal of all infinities?
thanx
0 comentarios
Respuesta aceptada
Matt Fig
el 4 de Jun. de 2011
To replace only the diagonal of a N-by-N matrix with infinity, do:
A(1:N+1:N^2) = inf; % or A(1:N+1:end)...
If you want to replace all of the zeros in an array with infinity, do:
A(~A) = inf; % Or A(A==0) = inf;
0 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!