General conic curve fit with constrained coefficients

3 views (last 30 days)
Hello,
I would like to fit a set of xy points to a general conic equation of the form:
ax^2 + bxy + cy^2 +dx + ey + f = 0
where I need to constrain the coefficient "c" to zero. So I would like to fit:
ax^2 + bxy +dx + ey + f = 0
to determine the values of the coefficients.
I have tried:
but I cannot determine how to contrain the coefficient. It gives me a good fit, but the coefficient "c" is non-zero. The fit is not good if I plot it with the "c" coefficient set to zero.
  2 Comments
Matt J
Matt J on 1 Mar 2021
It would be recommendable to attach a single.mat file containing your x,y data, so we can play with it.
tarek hussein
tarek hussein on 21 Feb 2023
Moved: Matt J on 21 Feb 2023
hello dear
how can i fit an ellipse from experimenta data(x and y vectors).. i really need to find the diameter of that ellipse.

Sign in to comment.

Accepted Answer

Matt J
Matt J on 1 Mar 2021
Edited: Matt J on 1 Mar 2021
Here's a basic analytical fit, using the tools in this File Exchange package:
[xy,T]=conicFit.homogNorm([x(:),y(:)].');
x=xy(1,:).'; y=xy(2,:).';
q = conicFit.mostnull([x.^2, x.*y, x, y, x.^0]);
C=[q(1), q(2), q(3);
0 0 q(4);
0 0 q(5)];
C= T.'*(C/2+C.'/2)*T;
[a, b, d, e, f] = deal(C(1), 2*C(4), 2*C(7), 2*C(8), C(9));

More Answers (1)

Shadaab Siddiqie
Shadaab Siddiqie on 1 Mar 2021
From my understanding you want to create conic curve with constrained coefficients. Here is a similar question which might help you.

Categories

Find more on Interpolation 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!