splitting Cell array in a loop

Hi,
I want to split X into Y, a 1 x 4 cell. Y will be {[1:8]} {[9:16]} {[17:24]} {[25 32]}. thanks.
X = 1:32;
Y = cell (1,4);
for j = [1,9,17,25];
for i = 1: 4
Y{1,i} = X (j:j+7);
end
end

 採用された回答

Voss
Voss 2022 年 8 月 29 日

0 投票

X = 1:32;
Y = cell(1,4);
j = [1,9,17,25];
for i = 1:numel(j)
Y{1,i} = X(j(i):j(i)+7);
end
disp(Y)
{[1 2 3 4 5 6 7 8]} {[9 10 11 12 13 14 15 16]} {[17 18 19 20 21 22 23 24]} {[25 26 27 28 29 30 31 32]}
Or:
Y = num2cell(reshape(X,[],4).',2).'
Y = 1×4 cell array
{[1 2 3 4 5 6 7 8]} {[9 10 11 12 13 14 15 16]} {[17 18 19 20 21 22 23 24]} {[25 26 27 28 29 30 31 32]}

その他の回答 (0 件)

カテゴリ

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

質問済み:

HYZ
2022 年 8 月 29 日

コメント済み:

2022 年 8 月 30 日

Community Treasure Hunt

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

Start Hunting!

Translated by