MATLAB Answers

FOR Loop

4 views (last 30 days)
Mayu on 12 Dec 2011
Let us say I have a row vector with "n" number of rows.
e.g. [0 27 29 45 66]';
How can I write a command using a FOR loop, that adds the first element with the second element, then the second element with the third element and so on until it gets to the "n" number of rows.
And in the end adding up all those answers.
So like: (0+27)+(27+29)+(29+45)... and so on.
I'm only a beginner in MatLab and spent hours trying to figure this out. Hope you guys can help. Thanks for the help in advance. :D

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 12 Dec 2011
aout = 0;
for i1 = 1:numel(a)-1;
aout = aout + a(i1) + a(i1+1);
without loop for..end
n = numel(a)
aout = sum(a(1:n-1)+a(2:n))
Sean de Wolski
Sean de Wolski on 12 Dec 2011

Sign in to comment.

More Answers (2)

Shouvik  Das
Shouvik Das on 12 Dec 2011
Considering you need to store each intermediate output in another array. Let input array with n rows be inputArray
for i=1:length(inputArray)-1
outputArray(i)=inputArray(i) + inputArray(i+1);
Hope this helps.
Regards Shouvik
  1 Comment
Mayu on 12 Dec 2011
Thanks, works wonderfully :D

Sign in to comment.

Anurag Pratap Singh
Anurag Pratap Singh on 25 Jun 2020
Hi Mayu
You could use an extra array for storing every output let say addArr array and then add each elements of the addArr.
for i=1:length(inputArr)
addArr(i) =inputArr(i)+inputArr(i+1);
Then add each element of addArr
for i=1:length(addArr)
The result variable has the cummulative sum of all the elements in input array.
Thank you

Community Treasure Hunt

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

Start Hunting!