is interp1(x, v, x(k), mtd) == v(k) always true?

2 views (last 30 days)
is
interp1(x, v, x(k), mtd) == v(k)
always true or does it depend on method and/or type of x and v? Followup: is the answer documented?

Accepted Answer

Walter Roberson
Walter Roberson on 5 Dec 2016
Yes, guaranteed. interp1 calls griddedInterpolant to do the work and that routine says,
"This surface always passes through the sample values at the point locations."
  2 Comments
Guillaume
Guillaume on 5 Dec 2016
Edited: Guillaume on 5 Dec 2016
... except that "interp1 calls griddedInterpolant" is not actually documented and so could be considered an implementation detail subject to change.
So it's guaranteed by the code as currently implemented but not by the documentation.
Naor Movshovitz
Naor Movshovitz on 5 Dec 2016
Accepted Walter's answer because it points in the right direction: griddedInterpolant. I think this answers my question although perhaps I should have emphasized more strongly what I was really asking: when the query point is a sample point, is the returned value bit-wise equal to the value at the sample point? The wording of the documentation still leaves this a little uncertain. The interpolant can "pass through the sample value" in the mathematical sense but still fail a == comparison.

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!