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

4 ビュー (過去 30 日間)
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]

採用された回答

Stephen23
Stephen23 2019 年 3 月 17 日
編集済み: Stephen23 2019 年 3 月 18 日
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 件のコメント
Enrica Brunetti
Enrica Brunetti 2019 年 3 月 18 日
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]
Stephen23
Stephen23 2019 年 3 月 18 日
>> (reshape(v,2,[]),2)/2
ans =
5
7

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCell Arrays についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by