How do I replace the zeros in a matrix with another integer, or with a pos or neg infinity?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
Matt Fig
il 4 Giu 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 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Operating on Diagonal Matrices in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!