Interpolation with three arrays

if true
% code
x = [0 .25 0 .5 .5 1 .5 .75];
y = [0 .25 .5 0 .5 .5 1 .75];
t = [20.99 25.74 29.7 22.34 40.48 45.75 63.01 62.98];
a = TriScatteredInterp(x(:),y(:),t(:),'nearest');
pnt1 = a(0,1)
end
I have these three arrays of data and I am trying to interpolate for the value of t for different values of x and y. for example t when x = 0 and y = 1. For some reason my code above is not working. Any help or ideas would be appreciated.

Risposte (1)

Why do you think this is not working? It seems to be working fine:
>> pnt1 = a(0,0)
pnt1 =
20.9900
>> pnt1 = a(0,1)
pnt1 =
63.0100

2 Commenti

tunny
tunny il 6 Mag 2013
in the triscatteredinterp delete the 'nearest' because that just picks up the value in the array that is closest.
It appears that you are interested in extrapolation rather than interpolation.
TriScatteredInterp does not support extrapolation. However, the recent release of MATLAB R2013a, introduced scatteredInterpolant which does.
You may have to upgrade to use this if you are on an older release.

Accedi per commentare.

Categorie

Scopri di più su Interpolation in Centro assistenza e File Exchange

Richiesto:

il 6 Mag 2013

Community Treasure Hunt

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

Start Hunting!

Translated by