How can I write a 'for' loop that sums up all elements of a vector?

1 visualizzazione (ultimi 30 giorni)
For instance, I have vector a = 1 2 3 4 5, or simply a=[1:5]. How can I write a 'for' loop that sums up all the elements while showing intermediate results? I want the last result to be 15, as in, 1+2+3+4+5. So far I've only managed to sum up elements like this: 1+2 = 3, 2+3 = 5 and so on. What I want is a 'for' loop that factors in the previous summation and sums it up with the next.
The code I've written so far is:
a= [1:5]
for i=1:5
c=sum(a(i)+a(i+1))
disp(c)
end
  1 Commento
VBBV
VBBV il 17 Lug 2024
@Seif you could also simply sum up all the elements in vector as below
a= 1:5
a = 1x5
1 2 3 4 5
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
for i=1:5
c=a(1:i);
disp(['The sum is ',num2str(sum(c))])
end
The sum is 1 The sum is 3 The sum is 6 The sum is 10 The sum is 15

Accedi per commentare.

Risposta accettata

VBBV
VBBV il 17 Lug 2024
@Seif do you mean like this ?
a= [1:5]
a = 1x5
1 2 3 4 5
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
for i=1:3
c(i)=sum(a(i)+a(i+1))
disp(sum(c))
end
c = 3
3
c = 1x2
3 5
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
8
c = 1x3
3 5 7
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
15

Più risposte (1)

Voss
Voss il 17 Lug 2024
a = 1:5;
total = 0;
for ii = 1:numel(a)
total = total+a(ii)
end
total = 1
total = 3
total = 6
total = 10
total = 15

Categorie

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

Tag

Prodotti


Release

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by