MATLAB Answers

Want to take a section of a curved line between 2 points

1 view (last 30 days)
katherine keogh
katherine keogh on 27 May 2021
Answered: William Rose on 27 May 2021
I have an irregular curved line and I want to take a section of it between 2 known points. How might I do this

Answers (1)

William Rose
William Rose on 27 May 2021
interp1(x,y,xq,method) will interpolate in a smooth way. See the help for it here. You tell it the known x's and y's (vectors x,y) and xq, the vector of query x values - where you want to interpolate. For method, try the smooth options and see which you like: 'pchip', cubic', 'makima', or 'spline'. I like 'pchip' and 'makima' because they don't overshoot between points.
x=0:5; y=rand(1,6);
xq=0:0.2:5;
y1=interp1(x,y,xq,'pchip');
y2=interp1(x,y,xq,'cubic');
y3=interp1(x,y,xq,'makima');
y4=interp1(x,y,xq,'spline');
plot(x,y,'k*',xq,y1,'r.-',xq,y2,'g.-',xq,y3,'b.-',xq,y4,'m.-');
legend('raw','pchip','cubic','makima','spline');
Example above: interpolation with different methods.

Community Treasure Hunt

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

Start Hunting!