Вы также можете получить скользящее среднее, используя свертка .Таким образом, вам не нужно беспокоиться о FilterFilt.
Например, вы можете использовать
D = [1:0.2:4];
windowSize = 3;
F = ones(1,windowSize)/windowSize;
Df = conv(D,F);
%# if you didn't use 'valid', Df is larger than D. To correct:
halfSize = floor(windowSize/2);
Df = Df(halfSize+1:end-halfSize);
Конечно, вам все равно придется иметь дело с краем, поэтому вы должнысначала наберите D или запустите conv с аргументом 'valid'.Например, вы можете использовать PADARRAY , если у вас есть набор инструментов для обработки изображений.
Простейшим способом заполнения будет дублирование первого и последнего значений.Если вы знаете больше о ваших данных, другие подходы могут оказаться более подходящими.