Hello,
I am trying to sum my vector by 2 elements.
An example:
I have:
A= [1;2;3;4;5;6]
What I want:
A_new = [3;7;11]
Is there any way to easily code this?
I know one way via a for-loop but I was wondering if there was a more efficient way.
Thanks in advance!

 채택된 답변

Stephen23
Stephen23 2021년 1월 25일
편집: Stephen23 2021년 1월 25일

1 개 추천

A = [1;2;3;4;5;6];
B = A(1:2:end) + A(2:2:end)
B = 3×1
3 7 11
or more generally:
B = sum(reshape(A,2,[]),1).'
B = 3×1
3 7 11
or
B = reshape(A,2,[]).' * ones(2,1)
B = 3×1
3 7 11
or
B = cellfun(@sum,mat2cell(A,2*ones(1,3),1))
B = 3×1
3 7 11

댓글 수: 1

Ann-Lara Aernoudts
Ann-Lara Aernoudts 2021년 1월 25일
Perfect, that works!
I'll use the more general code.
Thank you!

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Abdel
Abdel 2023년 9월 18일

0 개 추천

The sum of the last two elements in (call the result ans6)

카테고리

질문:

2021년 1월 25일

답변:

2023년 9월 18일

Community Treasure Hunt

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

Start Hunting!

Translated by