Вы можете использовать diff
и find
следующим образом:
a = [ 0 0 0 1 1 0 0 1 1 1 1 0 1];
result = diff(find([ 1 diff(a) 1]))
result =
3 2 2 4 1 1
Или другой пример:
a = [ 1 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1]
result = diff(find([ 1 diff(a) 1]))
result =
2 4 1 1 1 5 3