MATLAB Answers

General conic curve fit with constrained coefficients

29 ビュー (過去 30 日間)
Scott Larwood
Scott Larwood 2021 年 2 月 26 日
編集済み: Matt J 2021 年 3 月 1 日
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.
  1 件のコメント
Matt J
Matt J 2021 年 3 月 1 日
It would be recommendable to attach a single.mat file containing your x,y data, so we can play with it.

サインインしてコメントする。

採用された回答

Matt J
Matt J 2021 年 3 月 1 日
編集済み: Matt J 2021 年 3 月 1 日
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));
  1 件のコメント
Scott Larwood
Scott Larwood 2021 年 3 月 1 日
Thank you, that solved my problem.

サインインしてコメントする。

その他の回答 (1 件)

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

Community Treasure Hunt

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

Start Hunting!

Translated by