フィルターのクリア

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

1 回表示 (過去 30 日間)
katherine keogh
katherine keogh 2021 年 5 月 27 日
回答済み: William Rose 2021 年 5 月 27 日
I have an irregular curved line and I want to take a section of it between 2 known points. How might I do this

回答 (1 件)

William Rose
William Rose 2021 年 5 月 27 日
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.

カテゴリ

Help Center および File ExchangeInterpolation についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by