How to add values through a for loop?

192 visualizzazioni (ultimi 30 giorni)
Hail
Hail il 13 Ago 2014
Commentato: Salman Tahir il 14 Set 2017
I have a for loop that creates something like this:
first iteration: [1 2 3 4 5 6 7] second iteration: [2 3 4 5 6 7 8] third iteration: [3 4 5 6 7 8 9]
(these aren't my actual values, just an example)
I want my loop to add all of these together at the end. So I would get an output of:
[6 9 12 15 18 21 24]
How can I do this?
Thanks

Risposta accettata

Adam
Adam il 13 Ago 2014
Modificato: Adam il 13 Ago 2014
Just pre-size a vector before the for loop as e.g.
result = zeros( 1, 7 );
then inside the for loop:
result = result + newValues;
where newValues are the results calculated in that iteration. Unfortunately Matlab doesn't have a += operator.
That will add them together as you go. If you really want to only do so at the end then you'd have to store an ( n * m ) matrix for n iterations with length m result and then sum along the relevant dimension.
  2 Commenti
Salman  Tahir
Salman Tahir il 14 Set 2017
what do you mean by " If you really want to only do so at the end then you'd have to store an ( n * m ) matrix for n iterations with length m result and then sum along the relevant dimension."? what is this process called? Is there a place I can look this up?

Accedi per commentare.

Più risposte (2)

Joseph Cheng
Joseph Cheng il 13 Ago 2014
there are two methods. if you need to save each iteration then in the for loop save it like below:
for iter = 1:3
%calculations here to get your values A.
A(iter,:) = randi(10,1,7); % my dummy iteration values
end
SumA = sum(A);
if you don't need to save each iteration.
SumA = 0;
for iter = 1:3
%calculations here to get your values A.
SumA = SumA + randi(10,1,7); % my dummy iteration values
end

Salman  Tahir
Salman Tahir il 14 Set 2017
what do you mean by " If you really want to only do so at the end then you'd have to store an ( n * m ) matrix for n iterations with length m result and then sum along the relevant dimension."? what is this process called? Is there a place I can look this up?

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Prodotti

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by