interpolate using selected values of a matrix

1 Ansicht (letzte 30 Tage)
Muhammad Hasnat
Muhammad Hasnat am 25 Jan. 2013
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 ?

Antworten (1)

Andrei Bobrov
Andrei Bobrov am 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);

Kategorien

Mehr zu Interpolation finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by