I am trying to fit a line (to a blue curve in the image) using spline, pchip or makima function, however, theses function do not work properly (red line).

2 visualizaciones (últimos 30 días)

Respuestas (1)

John D'Errico
John D'Errico el 1 de Oct. de 2022
Editada: John D'Errico el 1 de Oct. de 2022
They don't work, because your curve does not describe a SINGLE valuesd function y(x). That is, for many values of x, there are TWO values of y. You CANNOT use spline, makima or pchip to interpolate those points directly.
However, you CAN use tools that are designed to fit such a general space curve. For example, download my interparc from the file exchange. Interparc actually knows how to fit a curve to such a path in the plane, and it can apply either pchip or spline to such a curve properly. (Not makima, since makima was not part of MATLAB when I wrote the tool.)
Find interparc here:
If you have the curve fitting toolbox, it has cscvn, which can also fit such a space curve.

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!

Translated by