interpolate using selected values of a matrix
Afficher commentaires plus anciens
I have 2D data X = [ 1 NaN 3 4 5 ; 6 NaN 8 9 10; 11 12 13 14 15]; I want to find the interpolated value at the location (2.5,2.5). A simple interp2 command interp2(X,2.5,2.5) will return an NaN at the location (2.5,2.5) Is there anyway I can do this interpolation, i.e ignore certain values in the matrix/data and use only selected values for interpolation ?
Réponses (1)
Andrei Bobrov
le 25 Jan 2013
X = [1 nan 3 4 5;6 nan 8 9 10;11 12 13 14 15];
[jj,ii] = ndgrid(1:size(X,1),1:size(X,2));
t = ~isnan(X);
F = TriScatteredInterp(ii(t),jj(t),X(t));
Xnew = F(ii,jj);
% your case
X2 = F(2.5,2.5);
Catégories
En savoir plus sur NaNs dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!