How do I replace the zeros in a matrix with another integer, or with a pos or neg infinity?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Akzeptierte Antwort
Matt Fig
am 4 Jun. 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 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Operating on Diagonal Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!