C = GETCHUNKS(A) returns an array of n elements, where n is the number of consecutive chunks (2 or more repetitions) in A, and each element is the number of repetitions in each chunk. A can be LOGICAL, any numeric vector, or CELL array of strings. It can also be a character array (see below, for its special treatment).
[C, I] = GETCHUNKS(A) also returns the indices of the beginnings of the chunks.
If A is a character array, then it finds words (consecutive non-spaces), returning the number of chararcters in each word and the indices to the beginnings of the words.
GETCHUNKS(A, OPT) accepts an optional argument OPT, which can be any of the following three:
'-reps' : return repeating chunks only. (default)
'-full' : return chunks including single-element chunks.
'-alpha' : (for CHAR arrays) only consider alphabets and numbers as part of words. Punctuations and symbols are regarded as spaces.
A = [1 2 2 3 4 4 4 5 6 7 8 8 8 8 9];
2 3 4
B = 'This is a generic (simple) sentence';
[C, I] = getchunks(B)
4 2 1 7 8 8
1 6 9 11 19 28
[C, I] = getchunks(B, '-alpha')
4 2 1 7 6 8
1 6 9 11 20 28