Azzera filtri
Azzera filtri

How to add rows of data in a 5x5 Matrix

1 visualizzazione (ultimi 30 giorni)
Hi, I want to add entries in each row and put zero in the Inf place but I want to use for loop? I tried this
if true
A = sum(A,2);
end
But I am want to put entries equal to Inf to zero and then add them.

Risposta accettata

James Tursa
James Tursa il 3 Feb 2016
If you want to replace the inf values with 0 first, then
A(isinf(A)) = 0;
  3 Commenti
Guillaume
Guillaume il 3 Feb 2016
Modificato: Guillaume il 3 Feb 2016
Wow! You like copy pasting . As soon as you start writing lines of code that only differ according to a pattern, you have to think that the program can do that for you.
The whole of the above code could be replaced by these two lines:
rows = [1, 2, 3, 1, 1]; %row to sum
sumA(rid, tid) = sum(A(rows(rid), setdiff(1:5, [rid tid])));
And if you made a typo and forgot to replace the row number in the case 4 and case 5 (another reason for not copy-pasting redundant code), then it's even simpler:
sumA(rid, tid) = sum(A(rid, setdiff(1:5, [rid tid])));
Arsal15
Arsal15 il 3 Feb 2016
Thanks alot Guillaume :)
I think in the rows = [1,2,3,4,5] ?? You solved my issue and what if I have to choose a non zero entry of the matrix from a 5x5 matrix. Only one non zero and all zeros and I have to pick that and use for my calculations.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating 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!

Translated by