Если вы знаете, что у вас есть только одна последовательность, и она всегда [1 2 ... 1 2], вы можете просто использовать strfind
x = [0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 2 1 2 1 2 1 2 1 2 1 2 1 2 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1];
idx = strfind(x, [1 2]);
start = idx(1);
end = idx(end)+1;
Если может быть несколько вхождений, или если это не всегда 1-2, или если последовательность не завершена (например, 1 2 1 вместо 1 2 1 2), вы можете использовать diff
вместо:
dx = diff(x);
alt = dx(2:end)==-dx(1:end-1) & dx(1:end-1)~=0;
starts = find(diff(alt)>0) + 1;
ends = find(diff(alt)<0) + 2;