Effacer les filtres
Effacer les filtres

ellipse fitting from a plot in MATLAB

4 vues (au cours des 30 derniers jours)
Sayanta Goswami
Sayanta Goswami le 25 Mar 2021
Modifié(e) : Matt J le 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?

Réponse acceptée

Image Analyst
Image Analyst le 25 Mar 2021
  6 commentaires
Image Analyst
Image Analyst le 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.
Sayanta Goswami
Sayanta Goswami le 31 Mar 2021
Modifié(e) : Sayanta Goswami le 31 Mar 2021
Thanks a lot. I had seen the code but there was some issue with these two files that I have attached herewith.It is not giving Theta value correctly. Theta should come araound zero degree but it is giving 68 degree and 44 degree. Please help me.
I have attached google drive link for the files and the code that I was using.

Connectez-vous pour commenter.

Plus de réponses (1)

Matt J
Matt J le 31 Mar 2021
Modifié(e) : Matt J le 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

Community Treasure Hunt

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

Start Hunting!

Translated by