Spline to optimize the curve
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
mohammed alany
am 25 Mär. 2019
Kommentiert: mohammed alany
am 31 Mär. 2019
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 Kommentar
John D'Errico
am 31 Mär. 2019
Don't answer your question with a response to another answer, and then accept your own non-answer.
Akzeptierte Antwort
KSSV
am 25 Mär. 2019
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 Kommentare
Weitere Antworten (1)
John D'Errico
am 31 Mär. 2019
Bearbeitet: John D'Errico
am 31 Mär. 2019
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-')
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/211286/image.jpeg)
Find interparc on the file exchange:
Or, possibly, your goal is a smoothed approximation.
slm = slmengine(x,y,'plot','on','knots',3,'increasing','on');
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/211287/image.jpeg)
Find slmengine in my SLM toolbox. Also on the FEX.
Siehe auch
Kategorien
Mehr zu Splines 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!