least square circle, why doesn't it work?

Hi, so I have four data points (x and y) and I want to find A and B from least square equation Ax=B (to fit the circle's equation). I also want to solve x. I have tried the following but x the circle is not visiable. What am I doing wrong?
x = [6; 5; -1; 1];
y = [4; 6; 5; -1];
plot(x,y,'*')
% circle's equation x^2+y^2 = 2xc1+2yc2+c3
A = [2.*x,2.*y,ones(n,3)]
B = [x^2 + y^2];
c = A\B;
plot(A,B)

3 comentarios

Jenny Andersen
Jenny Andersen el 10 de Dic. de 2019
Thanks, silly mistake. However, it does not still seem to be working.
Ridwan Alam
Ridwan Alam el 10 de Dic. de 2019
what is 'a' and 'b'?
Jenny Andersen
Jenny Andersen el 10 de Dic. de 2019
I meant to write A and B. It's been changed in the script above now.

Iniciar sesión para comentar.

 Respuesta aceptada

Matt J
Matt J el 10 de Dic. de 2019
Editada: Matt J el 10 de Dic. de 2019
As I mentioned in your other post, your approach is not a good way to fit a circle. However, assuming you must do it this way, your main mistake was in the plotting, not in the fitting.
x = [6; 5; -1; 1];
y = [4; 6; 5; -1];
n=numel(x);
% circle's equation x^2+y^2 = 2xc1+2yc2+c3
A = [2.*x,2.*y,ones(n,1)];
B = [x.^2 + y.^2];
c = A\B;
fun=@(x,y) x.^2 + y.^2-c(1)*2*x-c(2)*2*y-c(3);
plot(x,y,'*')
hold on
fimplicit(fun,[-3,8])
hold off
axis equal

Más respuestas (0)

Categorías

Más información sobre Linear and Nonlinear Regression en Centro de ayuda y File Exchange.

Preguntada:

el 10 de Dic. de 2019

Editada:

el 10 de Dic. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by