Want to take a section of a curved line between 2 points
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
I have an irregular curved line and I want to take a section of it between 2 known points. How might I do this
0 Kommentare
Antworten (1)
William Rose
am 27 Mai 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.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Interpolation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!