Borrar filtros
Borrar filtros

ellipse fitting from a plot in MATLAB

4 visualizaciones (últimos 30 días)
Sayanta Goswami
Sayanta Goswami el 25 de Mzo. de 2021
Editada: Matt J el 31 de Mzo. de 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?

Respuesta aceptada

Image Analyst
Image Analyst el 25 de Mzo. de 2021
  6 comentarios
Image Analyst
Image Analyst el 26 de Mzo. de 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 el 31 de Mzo. de 2021
Editada: Sayanta Goswami el 31 de Mzo. de 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.

Iniciar sesión para comentar.

Más respuestas (1)

Matt J
Matt J el 31 de Mzo. de 2021
Editada: Matt J el 31 de Mzo. de 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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by