Calculating radius of circle
37 次查看(过去 30 天)
显示 更早的评论
Looking for a simple function. I would like calculate radius of a circle using three points. anyone done this before or know a function that will do this?
1 个评论
Jacob Ward
2017-9-6
What do you mean by three points? Will these points be along the circumference of the circle? Will one be the center of the circle?
回答(2 个)
Jacob Ward
2017-9-6
编辑:Jacob Ward
2017-9-8
Using the following equation:
You have three unknowns: h, k, and r.
So you'll need to solve a system of three equations using your three different x-y pairs:
(x1 - h)^2 + (y1 - k)^2 = r^2
(x2 - h)^2 + (y2 - k)^2 = r^2
(x3 - h)^2 + (y3 - k)^2 = r^2
Solving this system of equations will give you r and MATLAB's solve(eqns,vars) command should do the trick.
Something like this:
syms h k r
eqns = [(x1-h)^2+(y1-k)^2==r^2,(x2-h)^2+(y2-k)^2==r^2,(x3-h)^2+(y3-k)^2==r^2];
S = solve(eqns, [h k r]);
radius = S.r(2);
The S.r(2) takes the second r solution because the first one is the negative of what you want, the second is the positive and desired solution.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!