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

2 Ansichten (letzte 30 Tage)
Seif
Seif am 17 Jul. 2024
Bearbeitet: Voss am 18 Jul. 2024
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 Kommentar
VBBV
VBBV am 17 Jul. 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

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

VBBV
VBBV am 17 Jul. 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

Weitere Antworten (1)

Voss
Voss am 17 Jul. 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
  2 Kommentare
Voss
Voss am 17 Jul. 2024
Bearbeitet: Voss am 18 Jul. 2024
You're welcome! Any questions, let me know.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by