How to divide an array into sperate vectors.
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Mohannad Alzard
le 13 Oct 2020
Commenté : Fangjun Jiang
le 13 Oct 2020
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 commentaires
Réponse acceptée
Fangjun Jiang
le 13 Oct 2020
use reshape() to transform it to 4x250 or 250x4 then loop through row or column
2 commentaires
Fangjun Jiang
le 13 Oct 2020
M=1:1000;
NewM=reshape(M,[],4);
for row=1:size(NewM,1)
for column=1:size(NewM,2)
NewM(row,column)
end
end
Plus de réponses (1)
Ameer Hamza
le 13 Oct 2020
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
Voir également
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!