MATLAB - 获取向量中的每N个元素

时间:2016-11-11 19:58:39

标签: arrays matlab

我有一个数组

a = [1 2 3 4 5 6 7 8]

我希望得到每组4人 所以结果是这样的

[1 2 3 4]
[5 6 7 8]

我不知道会有多少元素,但我知道它可以被4整除

所以像(1:4)和(5:8)这样的东西不会工作,我可以使用循环,但有没有办法不使用循环?

1 个答案:

答案 0 :(得分:1)

对于a中未知数量的元素,您可以使用reshape,您只需要确定最终矩阵中的行数或(更适合您的情况)列数

a = 1:4*10;
a2 = reshape(a, 4, []).';

如果您按常规行进行,则可以执行此操作。

a = 1:4*10;
a2 = reshape(a, [], numel(a) / 4).';

您只需要确保a具有适当数量的元素。 numel只是告诉您总元素数。