У меня есть набор данных, который обычно содержит данные каждые полчаса (таким образом, 2 данные в час), НО некоторые данные имеют 3 данных в час, и я хочу удалить третий. Итак, за каждый час я хочу увидеть, сколько раз это повторяется подряд.
Упрощенный пример:
A = [0 0 1 1 2 2 3 3 4 4 4 5 5 6 6 7 7 8 8 9 9 10 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 0 0 1 1 2 2 3 3 4 4 55 6 6 7 7 7 8 8 9 9 10 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 0 0 1 1 2 2 3 34 4 4 5 5 6 6 7 7 8 8 9 9 10 11 12 12 13 13 14 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 ...]
Я хочу знать, какие координаты выделены жирным шрифтом 4, 7 и 14 , поскольку они повторяются три раза подряд вместо двух. Это код, который я написал, но он выводит только матрицу Нана и не заполняет ее нужными мне координатами.
indexes=year(P20102330.Date)==Year & month(P20102330.Date)==Month; % select correct data from dataset
Feb2330=P20102330(indexes,:);
for i=1:24
vindhours=find(hour(Feb2330.Date)==i-1);%find coordinates, one hour per step
svindhours=numel(vindhours);
blob=[];
for j =1:svindhours-1
result=nan(24,svindhours);%make nan matrix
if vindhours(j)-vindhours(j+1)==1 %find the coordinates which only differ by one (are consequetive)
blob=[blob, j] % add those coordinates to a vector
if numel(blob)>2 % if they are repeated more than 2 times, add them to the result matrix
result(i,j)=vindhours(j)
end
end
end
end