Nonlinear system Circle problem

4 vues (au cours des 30 derniers jours)
Aldo
Aldo le 11 Nov 2016
Commenté : Torsten le 11 Nov 2016
I am supposed to determine with 3 points the midpoint and the radius of a circle
clear all; close all; clf;
x=[5 8 4]'; y=[9 8 3]';
X = (x(3)-x(2))/2; Y=(y(1)-y(3))/2; R= ; p=[X Y R]';
for iter=1:5
f=[ (x(1)-X)^2+(y(1)-Y)^2-R^2
(x(2)-X)^2+(y(2)-Y)^2-R^2
(x(3)-X)^2+(y(3)-Y)^2-R^2 ];
disp(norm(f))
J=[ 2*(x(1)-X) 2*(y(1)-Y)
2*(x(2)-X) 2*(y(2)-Y)
2*(x(3)-X) 2*(y(3)-Y) ];
dp=-J\f; p=p+dp;
X=p(1); Y=p(2); R=p(3);
end, p
plot(x,y,'o')
This is my code thus far, is my X=(x(3)-x(2))/2; Y=(y(1)-y(3))/2 correct, what should 'R=' be?
Best Regards Aldo
  5 commentaires
Aldo
Aldo le 11 Nov 2016
Modifié(e) : Aldo le 11 Nov 2016
How should the Jacobian be? Shouldn't it be J_11 J_12 J_21 J_ 22. Shouldn't R be considered a constant?
Best Regards
Torsten
Torsten le 11 Nov 2016
You have three equations in the unknowns X,Y and R. Thus the Jacobian is (3x3):
[df1/dX df1/dY df1/dR
df2/dX df2/dY df2/dR
df3/dX df3/dY df3/dR]
Best wishes
Torsten.

Connectez-vous pour commenter.

Réponses (1)

KSSV
KSSV le 11 Nov 2016

Catégories

En savoir plus sur Spline Postprocessing dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by