Spline to optimize the curve
2 次查看(过去 30 天)
显示 更早的评论
if i have the points bellow, and i would like to optimize the line connected each two points? i.e. to make it smothely.
who i can do it using "Spline" or any other code??the important thing is at the end the line must optomize and Passing all these point
6x2 double
[ 2.0000 2.0000
2.2703 1.6902
4.7244 7.6318
12.0984 9.1030
12.0000 10.0000 ]
1 个评论
John D'Errico
2019-3-31
Don't answer your question with a response to another answer, and then accept your own non-answer.
采纳的回答
KSSV
2019-3-25
c = [ 2.0000 2.0000
2.2703 1.6902
4.7244 7.6318
12.0984 9.1030
12.0000 10.0000 ] ;
x = c(:,1) ;
y = c(:,2) ;
xi = min(x):0.1:max(x) ;
yi = spline(x,y,xi) ;
plot(x,y,'*r')
hold on
plot(xi,yi)
0 个评论
更多回答(1 个)
John D'Errico
2019-3-31
编辑:John D'Errico
2019-3-31
It seems you want to interpolate these points, doing so smoothly, yet not going outside the data.
xy = [ 2.0000 2.0000
2.2703 1.6902
4.7244 7.6318
12.0984 9.1030
12.0000 10.0000 ] ;
x = xy(:,1) ;
y = xy(:,2) ;
You can download my interparc from the file exchange.
xyi = interparc(100,x,y,'pchip');
plot(x,y,'bo',xyi(:,1),xyi(:,2),'r-')
Find interparc on the file exchange:
Or, possibly, your goal is a smoothed approximation.
slm = slmengine(x,y,'plot','on','knots',3,'increasing','on');
Find slmengine in my SLM toolbox. Also on the FEX.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Splines 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!