![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/562288/image.png)
ellipse fitting from a plot in MATLAB
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Sayanta Goswami
il 25 Mar 2021
Modificato: Matt J
il 31 Mar 2021
I have datapoints in text file which I have imported and ploted. Now I want to do ellipse fitting of that data. Can you please help me with that?
0 Commenti
Risposta accettata
Image Analyst
il 25 Mar 2021
See my attached ellipse fitting demo.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/562288/image.png)
Also see the FAQ:
6 Commenti
Image Analyst
il 26 Mar 2021
Are you sure you actually tried to adapt my demo? Anyway, it was rather straightforward and you just needed to add a call to fitellipse() at the end of your code. It's attached and produces this plot.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/563491/image.png)
Più risposte (1)
Matt J
il 31 Mar 2021
Modificato: Matt J
il 31 Mar 2021
Theta should come araound zero degree but it is giving 68 degree and 44 degree.
Using ellipticalFit() in,
[X,Y]=deal( smoothX(jdx:jdx+200000,1),smoothY(idx:idx+200000,1) );
fitobj=ellipticalFit([X,Y].')
[hFit,hData]=plot(fitobj,{'Color','r','LineWidth',3},{'SizeData',2});
xlabel 'X'
ylabel 'Y'
legend([hFit,hData],'Fit','Data')
gives me and angle of about 79 degrees (or 11 degrees to the Y axis). I don't know how close to zero degrees you expected, but the tilt angle in your samples is very visible, so it couldn't be too close.
fitobj =
ellipticalFit with properties:
center: [-0.0156 -0.0130]
a: 0.5679
b: 0.4198
angle: 79.2091
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/569169/image.png)
0 Commenti
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!