File Exchange

Consecutive vector spliter

version 1.6 (3.83 KB) by

Partition an input vector into smaller series of subvectors of consecutive elements

4.86667
16 Ratings

Updated

It says all in the summary. Nothing fancy just a convenient tool for spitting vectors.

Clair

Omer Moussaffi

Shabnam

Shabnam

Matt J

Matt J (view profile)

Finally got around to trying this. I like it a lot, but I don't understand how the COL input argument works. Clearer documentation on that with examples would help.

Greg

Greg (view profile)

Excellent. Thank you.

Xinyi Shen

Xinyi Shen (view profile)

This is a great function that I am looking for.
However, it would be more perfect if
1. the array can be unsorted.
2. the indices can be returned
For example, [s,i] = SplitVec([1 2 1 3 2 1])
where
s={[1 1 1],[2,2],[3]}
i={[1 3 6],[2,5],[4]}
I do not know if it is possible

Bruno Luong

Bruno Luong (view profile)

Monotonic

SplitVec(a, @(v) [0; diff(v(1:end-1)).*diff(v(2:end))<0])

Michal Kvasnicka

Michal Kvasnicka (view profile)

OK ... I add the 'decrease' and 'increase' functions by:
case {'increase'}
fun = @(v) diff(v(:,1))<0;
case {'decrease'}
fun = @(v) diff(v(:,1))>0;

But, how to add functions for 'positive' and 'negative' values vector spliting?

Michal Kvasnicka

Michal Kvasnicka (view profile)

Will be possible to generalize this function to split vector on monotonical parts using ismonotinic function (http://www.mathworks.com/matlabcentral/fileexchange/11637-ismonotonic)?

K

Amro

Ueli Rutishauser

Sauro Salomoni

Sauro Salomoni (view profile)

Ingenious! Clearly explained and easy to follow. Thank you very much!

John D'Errico

John D'Errico (view profile)

As you would expect of all of Bruno's submissions, it does exactly what it says it will do. Superb documentation.

Tom Toner

Tom Toner (view profile)

Thanks a lot for such a great function!

Joshua Arnott