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?

 Akzeptierte Antwort

Guillaume
Guillaume am 17 Okt. 2016

1 Stimme

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);

Weitere Antworten (0)

Kategorien

Mehr zu Graph and Network Algorithms finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 17 Okt. 2016

Kommentiert:

am 17 Okt. 2016

Community Treasure Hunt

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

Start Hunting!

Translated by