divide a vector in subvectors
Show older comments
Hi, I have a long vector, and I want to divide it for example in subvectors of size 100. without using a reshape() because I don't know the size of my long vector and so it doesn't fit perfectly in a M*N matrix. So, how can I do it? thank you
1 Comment
Answers (2)
Andrei Bobrov
on 10 May 2016
Edited: Andrei Bobrov
on 10 May 2016
A = randi(12,27,1); % - your vector
M = 4;
out = reshape([A;nan(mod(-numel(A),M),1)],M,[]);
Guillaume
on 10 May 2016
v = rand(1, 1024); %demo data. length is not a multiple of 100
splitlength = 100;
sublengths = ones(1, ceil(numel(v)/splitlength)) * splitlength;
sublengths(end) = sublengths(end) + numel(v) - sum(sublengths); %adjust length of last block
subvectors = mat2cell(v, 1, sublengths)
Categories
Find more on Numeric Types in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!