当改变圆的圆心坐标时,想求两圆的交点坐标!求大神指导,我是小白一只!
代码如下:
syms x z
mask=[];
i=1;
h=0.05;
for x1=5:-0.1:1
z1=sqrt((500.5)^2-x1^2)-0.006; %定义参量z1
[x,z]=solve(x^2+z.^2==250000,(x-x1)^2+(z-z1)^2==0.25); %解两圆交点坐标
mask(i,1)=x1/12;
mask(i,2)=sqrt(x(1,1)^2+h^2)-sqrt(x(2,1)^2+h^2);
i=i+1;
end
plot(mask(:,1),mask(:,2));
题主的代码出现错误的原因,是x、y变量声明书写的位置不恰当。因为每次用solve求解时,需要重新对x、y变量声明,所以该声明必须放置for循环语句中。即
for x1=5:-0.1:1
syms x z
z1=sqrt((500.5)^2-x1^2)-0.006; %定义参量z1
[x,z]=solve(x^2+z.^2==250000,(x-x1)^2+(z-z1)^2==0.25); %解两圆交点坐标
mask(i,1)=x1/12;
mask(i,2)=sqrt(x(1,1)^2+h^2)-sqrt(x(2,1)^2+h^2);
i=i+1;
end
我试了好久好久,不会-_-||,一直报错
本回答被网友采纳