Interpolate data: not monotonic
10 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
Star Strider
il 7 Nov 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 Commenti
Star Strider
il 7 Nov 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.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Interpolation in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!