How do I fit a curve ?
Show older comments
Hi, I have been trying t fit a curve to the attached data. I tried fitPolynomialRANSAC but didn't get intended result. The data and the output are attached. Here is the code I used.
load data.mat
figure
plot(idx(:,1),idx(:,2),'*');
set(gca,'XAxisLocation','top','YAxisLocation','left','ydir','reverse');
x = idx(:,1);
y = idx(:,2);
N = 2; % second-degree polynomial
maxDistance = 5; % maximum allowed distance for a point to be inlier
[P, inlierIdx] = fitPolynomialRANSAC([x y],N,maxDistance);
yRecoveredCurve = polyval(P,x);
figure
plot(x(inlierIdx),y(inlierIdx),'.',x(~inlierIdx),y(~inlierIdx),'r+')
set(gca,'XAxisLocation','top','YAxisLocation','left','ydir','reverse');
hold on
plot(x,yRecoveredCurve,'-g','LineWidth',1)
hold off
Any help is greatly appreciated.
Edit: Requirement is that the curve should closely follow the point.
1 Comment
SATISH SONWANE
on 8 Dec 2022
Accepted Answer
More Answers (0)
Categories
Find more on Get Started with Curve Fitting Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!