Я вполне уверен, что должно быть элегантное решение для этого (в MATLAB), но я просто не могу думать об этом прямо сейчас.
У меня есть список с [classIndex, start, end], и я хочу свернуть последовательные индексы классов в одну группу, например:
Это
1 1 40
2 46 53
2 55 55
2 57 64
2 67 67
3 68 91
1 94 107
должно превратиться в это
1 1 40
2 46 67
3 68 91
1 94 107
Как мне это сделать?
EDIT
Не берите в голову, я думаю, я понял - это почти как решение fmarc , но правильно получает индексы
a=[ 1 1 40
2 46 53
2 55 55
2 57 64
2 67 67
3 68 91
1 94 107];
d = diff(a(:,1));
startIdx = logical([1;d]);
endIdx = logical([d;1]);
b = [a(startIdx,1),a(startIdx,2),a(endIdx,3)];