How to divide an array into sperate vectors.
2 次查看(过去 30 天)
显示 更早的评论
i have a 1X1000 array, i want to use the first 4 elements in each iteration in a for loop, so the first iteration first 4, second iteration the next 4 elements and so on.
0 个评论
采纳的回答
Fangjun Jiang
2020-10-13
use reshape() to transform it to 4x250 or 250x4 then loop through row or column
2 个评论
Fangjun Jiang
2020-10-13
M=1:1000;
NewM=reshape(M,[],4);
for row=1:size(NewM,1)
for column=1:size(NewM,2)
NewM(row,column)
end
end
更多回答(1 个)
Ameer Hamza
2020-10-13
Another approach is to convert it to a cell array
M; % 1x1000;
M_parts = mat2cell(M, 1, 4*ones(250,1));
for i = 1:numel(M_parts)
x = M_parts{i}; % x will be 1x4 vector.
% process 'x' variable
end
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!