Interp3 Producing Unexpected Output?

3 views (last 30 days)
When using the default trilinear interpolation of interp3, I'm getting an unexpected output:
>> Interpval = interp3(X,X,X,V,X(10),X(5),X(1))
Interpval =
>> V(10,5,1)
ans =
where X is an n x 1 vector, and V is an n x n x n matrix.
I expected the two results to match as it should notice that the interpolation point is a grid point.
Why do the results not match?
Hopefully I'm just tired and this is a trivial question.
Thanks for your time and help.

Accepted Answer

Walter Roberson
Walter Roberson on 20 May 2017
>> X = sort(randn(1,25));
>> V = rand(25,25,25);
>> Interpval = interp3(X,X,X,V,X(10),X(5),X(1))
Interpval =
>> V(10,5,1)
ans =
>> V(5,10,1)
ans =
In other words, confusion over the fact that interp3's first coordinate is X, second coordinate is Y, whereas indexing in MATLAB has first coordinate corresponding to Y and second coordinate corresponding to X.
  1 Comment
John Chilleri
John Chilleri on 20 May 2017
This was the case - I wasn't thinking about grids, I was thinking about 3D space. Row and column formatting switch the X and Y...
Thank you!

Sign in to comment.

More Answers (0)


Community Treasure Hunt

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

Start Hunting!