MATLAB过三点画圆(转)
clc;clear
xy=[1 0;2 3;3 2] %a(1,0),b(2,3),c(3,2)syms x0 y0 R
f=(xy(:,1)-x0).^2+(xy(:,2)-y0).^2-R^2 %版本太低可能不⾏[R,x0,y0]=solve(f(1),f(2),f(3))
R=eval_r(R(1)),x0=eval_r(x0(1)),y0=eval_r(y0(1))%把符号变量转换成数值t=0:pi/20:2*pi;
x=R*cos(t)+x0;y=R*sin(t)+y0;
plot(x,y,[xy(:,1);xy(1,1)] ,[xy(:,2);xy(1,2)])%三⾓形axis equal,gridfigure
plot(x,y,xy(:,1) ,xy(:,2),'*r')axis equal,grid