在MATLAB中如何求两个圆的交点,已知半径和圆心坐标。fsolve参数好像不行。麻烦高手帮忙解决一下。
2个回答
展开全部
%by dynamic
%see also http://www.matlabsky.com
%contact me matlabsky@gmail.com
%2009.2.
%
>> syms x y
>> a1=1;a2=2;b1=4;b2=5;r1=6;r2=7;%给出圆元参数,可以自己修改
>>[x,y]=solve((x-a1)^2+(y-b1)^2-r1^2,(x-a2)^2+(y-b2)^2-r2^2) %的到交点的解析解
x =
-7/4-1/4*167^(1/2)
-7/4+1/4*167^(1/2)
y =
5/4+1/4*167^(1/2)
5/4-1/4*167^(1/2)
>> vpa([x,y],5) %现实五位小数,可以自己根据需要修改
ans =
[ -4.9808, 4.4808]
[ 1.4808, -1.9808]
两个交点的坐标为ans
%see also http://www.matlabsky.com
%contact me matlabsky@gmail.com
%2009.2.
%
>> syms x y
>> a1=1;a2=2;b1=4;b2=5;r1=6;r2=7;%给出圆元参数,可以自己修改
>>[x,y]=solve((x-a1)^2+(y-b1)^2-r1^2,(x-a2)^2+(y-b2)^2-r2^2) %的到交点的解析解
x =
-7/4-1/4*167^(1/2)
-7/4+1/4*167^(1/2)
y =
5/4+1/4*167^(1/2)
5/4-1/4*167^(1/2)
>> vpa([x,y],5) %现实五位小数,可以自己根据需要修改
ans =
[ -4.9808, 4.4808]
[ 1.4808, -1.9808]
两个交点的坐标为ans
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询