MATLAB中将场数改为字母后,clc;clear;syms x y r ;a=[];eq12=sqrt((x+2).^2+y.^2)-sqrt(x.^2+(y-2*sqrt(3)).^2 )-2*r;eq13=sqrt((x+2).^2+y.^2)-sqrt((x-2).^2+y.^2)-2*r;d2=solve(eq12,eq13);a(2,1)=double(d2.x);a(2,2)=double(d2.y);之前把r换成一个
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/23 18:33:42
MATLAB中将场数改为字母后,clc;clear;syms x y r ;a=[];eq12=sqrt((x+2).^2+y.^2)-sqrt(x.^2+(y-2*sqrt(3)).^2 )-2*r;eq13=sqrt((x+2).^2+y.^2)-sqrt((x-2).^2+y.^2)-2*r;d2=solve(eq12,eq13);a(2,1)=double(d2.x);a(2,2)=double(d2.y);之前把r换成一个
MATLAB中将场数改为字母后,
clc;
clear;
syms x y r ;
a=[];
eq12=sqrt((x+2).^2+y.^2)-sqrt(x.^2+(y-2*sqrt(3)).^2 )-2*r;
eq13=sqrt((x+2).^2+y.^2)-sqrt((x-2).^2+y.^2)-2*r;
d2=solve(eq12,eq13);
a(2,1)=double(d2.x);
a(2,2)=double(d2.y);
之前把r换成一个数字的时候,可以的出来a(2,1)的具体值,换成r后,不能得出a(2,1)关于r的值,提示 Error using ==> eval
Undefined function or variable 'r'.
a(2,1)=double(d2.x);
这样求不出交点的关于r的坐标表达式,
>> d2
d2 =
x:[2x1 sym]
y:[2x1 sym]
>> d2.x
ans =
-1/2*r*(4+r*3^(1/2))/(r+3^(1/2))
1/2*r*(-4+r*3^(1/2))/(r-3^(1/2))
>> d2.y
ans =
-1/2*(r^2-4)/(r+3^(1/2))
1/2*(r^2-4)/(r-3^(1/2))
怎么变成了两个坐标,而且不知道两个x,y哪个对应哪个
MATLAB中将场数改为字母后,clc;clear;syms x y r ;a=[];eq12=sqrt((x+2).^2+y.^2)-sqrt(x.^2+(y-2*sqrt(3)).^2 )-2*r;eq13=sqrt((x+2).^2+y.^2)-sqrt((x-2).^2+y.^2)-2*r;d2=solve(eq12,eq13);a(2,1)=double(d2.x);a(2,2)=double(d2.y);之前把r换成一个
用syms 变量之后,r就没有具体的值,所以相拥double转为值就报错
但是解已经求出来了
d2.x和d2.y都有两个值,表明有有两个解
按照顺序对应、
d2.x(1) 对应于d2.y(1)
d2.x(2) 对应于d2.y(2)
也就是曲线有两个交点
一个是(-1/2*r*(4+r*3^(1/2))/(r+3^(1/2)),-1/2*(r^2-4)/(r+3^(1/2)))
另一个是(1/2*r*(-4+r*3^(1/2))/(r-3^(1/2),1/2*(r^2-4)/(r-3^(1/2)))