Best fit of ellipse equation to given data

13 次查看(过去 30 天)
Hello everyone,
For the given ellipse equation denoted as follows:
with additional parameters of mc and PIc to include a rotation of the ellipse:
I need to find
  1. a and b (semi-major and semi-minor axes),
  2. y0 and x0 (center coordinates), and
  3. theta(rotation angle)
to have best fitted ellipse into my data which is give in the form of PI = f(m) with around 5-8 test points per dataset.
Given the fact that my data has various shapes I do not expect the ellipse to be very precise, but still I would like the best I can get out of this method. I have tried to achieve that with Curve Fitting app, using Custom Equation option, but the equation I have put into it was too complex (some errors occurred).
Can you please advice, what would be the most convenient way to achieve my goal?
Kind Regards

采纳的回答

Bruno Luong
Bruno Luong 2020-12-27
  5 个评论
Serg
Serg 2021-1-12
It seems to work!
Just to assure myself:
  • "radii" contains semi-major and semi-minor axes;
  • "xc" and "yc" are center points;
  • "U" contains trygonometric functions of rotation angle;
Is that correct?
I am a bit confused, because if I use those to my initial equation, and input x(pi) as known, resultant y is far from what I would expect.
To solve the equation I use simple code:
Y = sym('Y');
a = max(radii);
b = min(radii);
deg = 143.8757;
x0 = xc;
y0 = yc;
X = 2
XC = X*cosd(deg) - Y*sind(deg);
YC = X*sind(deg) + Y*cosd(deg);
alpha = ((XC - x0)/a)^2;
beta = ((YC - y0)/b)^2;
[solY] = solve(alpha + beta == 1)
Y = vpa(solY)
Bruno Luong
Bruno Luong 2021-1-12
"Just to assure myself:
  • "radii" contains semi-major and semi-minor axes;
  • "xc" and "yc" are center points;
  • "U" contains trygonometric functions of rotation angle;
Is that correct?"
Yes, you correctly understand.

请先登录,再进行评论。

更多回答(0 个)

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by