I'm trying to write code that will linearly interpolate samples from a generic real-valued function. Interp1 seems to break if the function is constant over any part of its domain, and unfortunately for me this is an extremely common use case – as a simple function:
{0, if x<0f(x) = {x, if 0<=x<=1 {1, otherwise
It seems like interp1([0, 0, 1, 1], [-10,0,1,10], x) ought to return this function (for x \in [-10,10]), but instead I get the error that "The grid vectors must contain unique points."
Is there another interpolation function that doesn't break when you feed it functions that are sometimes constant?
Best Answer