Interpolate data: not monotonic
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Rafi
el 6 de Nov. de 2014
Comentada: Star Strider
el 7 de Nov. de 2014
Hey,
I am given a set of data with X and Y coordinates. The data is picturized below, with the circles corresponding to each data point. When I try to interpolate the data, to find new X coordinates for a set of Y coordinates (steps of 0.002 between minimum and maximum Y value), I get the error 'Error using griddedInterpolant. The grid vectors are not strictly monotonic increasing'. Is it because the X values constantly decrease and increase (and vice versa)?
What would be the best way to account for this so that I can still interpolate the data?

0 comentarios
Respuesta aceptada
Star Strider
el 7 de Nov. de 2014
You’re correct. If you want to interpolate to get more values in your situation, a bit of deception is sometimes necessary. In similar situations, I simply flip the x and y arguments to the interp1 call, and make the appropriate changes to your interpolation vector to match your y data. I would use the 'linear' method with your data.
2 comentarios
Star Strider
el 7 de Nov. de 2014
I didn’t look too closely before, but it seems that there are two identical values at about y=-0.75. The trick is to add the smallest amount necessary to the original y-value of the one with the largest original x-value to make them monotonic and make them work with your (y,x) interp1 call. (I don’t have your data, so I can’t be specific.) This is a common technique, and it doesn’t significantly affect the accuracy of the interpolation.
Más respuestas (0)
Ver también
Categorías
Más información sobre Interpolation en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!