idx = find([true diff(WallId) ~= 0]);
ReducedWallId = WallId(idx);
ReducedWallTime = WallTime(idx);
GroupCount = diff([idx numel(WallId)+1]);
Предполагая, что вы хотите получить сводку уникальных данных в WallId и WallTime, вы должны убедиться, что WallId отсортирован первым.Вы можете реорганизовать WallTime для соответствия следующим образом:
[WallId, ind] = sort(WallId);
WallTime = WallTime(ind);
Кроме того, вы получите правильный ответ, только если WallTime соответствует, когда WallId делает.