how to create a vector with the different sum of two elements of another vector?

1 view (last 30 days)
v = [1, 2, 3, 4, 6, 8];
l = length(v)
for i = 1 : 2 : l (?)
som = sum + v(i);
end
I don't know how to increse 'i' to create the sum of the two elements of the vector, the solution will be: som = [3, 7, 14]

Accepted Answer

Stephen23
Stephen23 on 17 Mar 2019
Edited: Stephen23 on 18 Mar 2019
No need to use a loop, some simple indexing works perfectly:
>> v = [1,2,3,4,6,8];
>> v(1:2:end)+v(2:2:end)
ans =
3 7 14
or generalized slightly:
>> sum(reshape(v,2,[]),1)
ans =
3 7 14
  2 Comments
Enrica Brunetti
Enrica Brunetti on 18 Mar 2019
Thank you.
And then if I want to create another vector with the average of two different elements of the same first vector, is there another general function?
The solution will be a = [ 5, 7]

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!