extract data from a 1D vector with a pattern

I have a 1D vector A=[1:1000]. I would like to start from the first elemnt of A and automatcially extract every first 16 elemnts but exclude the next 8 elements, and continue to end. In the end I have two vectors A1 (has every chunks of 16 elemnets) and A2 (every other chunk of 8 elemnts). In other words, A1 and A2 should include the follwing elemnts of vector A:
A1=[A(1:16), A(25:40), A(49:64), etc]
A2=[A(17:24), A(41:48), A(65:72), etc]

 採用された回答

Yongjian Feng
Yongjian Feng 2021 年 7 月 22 日

0 投票

Do it in a loop. Loop through 1 to 1000. Append elements to A1 and A2 inside the loop.

2 件のコメント

Yongjian Feng
Yongjian Feng 2021 年 7 月 22 日
Try this:
A = [1:1000];
A1 = [];
A2 = [];
i = 1;
while i < length(A)
A1 = [A1 A(i:i+15)];
A2 = [A2 A(i+16:min(i+23, 1000))];
i = i+24;
end
H R
H R 2021 年 7 月 25 日
thanks

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

製品

タグ

質問済み:

H R
2021 年 7 月 22 日

コメント済み:

H R
2021 年 7 月 25 日

Community Treasure Hunt

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

Start Hunting!

Translated by