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 Kommentare

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

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Matt J
Matt J am 10 Dez. 2019
Bearbeitet: Matt J am 10 Dez. 2019

1 Stimme

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

Weitere Antworten (0)

Kategorien

Mehr zu Linear and Nonlinear Regression finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 10 Dez. 2019

Bearbeitet:

am 10 Dez. 2019

Community Treasure Hunt

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

Start Hunting!

Translated by