Interpolating if consecutive NaNs less than 16

조회 수: 1 (최근 30일)
MF
MF 2016년 9월 11일
편집: Walter Roberson 2016년 9월 11일
I am trying to interpolate only gaps less than 16..but I can't manage..till now I only managed to interpolate all the gaps...any help please?
for x = 1:1:size(InterpSST, 1)
for y = 1:1:size(InterpSST, 2)
disp(['Processing: ', num2str(x), ', ', num2str(y)]);
tempCnt = squeeze(superFullTime);
temp = squeeze(InterpSST(x, y, :));
zero_idxptData = find(temp <= 14);
temp(zero_idxptData) = []; %remove the nan
tempCnt(zero_idxptData) = []; %remove the corrisponding time
tempFull = interp1(tempCnt(:), temp(:), superFullTime(:), 'spline'); %interpolate the removed time & sst values from superFullTime
InterpSST(x, y, :) = tempFull;
end
end

답변 (1개)

Chad Greene
Chad Greene 2016년 9월 11일
Try using interp1gap.

카테고리

Help CenterFile Exchange에서 Interpolation에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by