I need to cut a vector in a determined intervals. The size of my vector is unknown because it depends on the previous input. Lest say my vector is [2:97] and I need it to be cut in intervals of two (I previously made sure the vector can be divided by three) and all put together in a cell. The result has to be {[2 3 4],[5 6 7],[8 9 10],...,[95 96 97]}. How can I do that?

 Réponse acceptée

Guillaume
Guillaume le 17 Oct 2016
v = 2:97;
intervallength = 3;
assert(isrow(v), 'input not a row vector');
assert(mod(numel(v), intervallength) == 0, 'vector length not divisible by interval length')
splitv = mat2cell(v, 1, ones(1, numel(v)/intervallength) * intervallength);

Plus de réponses (0)

Catégories

En savoir plus sur Mathematics dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by