Nonlinear system Circle problem

8 views (last 30 days)
Aldo
Aldo on 11 Nov 2016
Commented: Torsten on 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 Comments
Aldo
Aldo on 11 Nov 2016
Edited: Aldo on 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 on 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.

Sign in to comment.

Answers (1)

KSSV
KSSV on 11 Nov 2016

Categories

Find more on Spline Postprocessing in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!