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.

Réponses (1)

Shashank Prasanna
Shashank Prasanna le 6 Mai 2013

0 votes

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 commentaires

tunny
tunny le 6 Mai 2013
in the triscatteredinterp delete the 'nearest' because that just picks up the value in the array that is closest.
Shashank Prasanna
Shashank Prasanna le 7 Mai 2013
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.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Interpolation dans Centre d'aide et File Exchange

Question posée :

le 6 Mai 2013

Community Treasure Hunt

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

Start Hunting!

Translated by