function [outputVector] = interpNFil(inputVector) i = 1:length(inputVector); goodValues = find(~isnan(inputVector)); i_good = i(goodValues); inputVector_good = inputVector(goodValues); interpedData = interp1(i_good, inputVector_good, (1:length(inputVector))', 'spline'); [b, a] = butter(2, .1); outputVector = filter(b,a, interpedData);