刚刚写matlab的时候用到了求解二元方程组,有一点小问题,在这里总结一下。
错误
xa=1;
ya=1;
da=1.414;
xb=1;
yb=3;
db=3.1623;
xc=3.5;
yc=2;
dc=4.03;
syms x y%f符号变量
%--------------求解方程组------------------------------------
f1 = 2*x*(xa-xc)+xc^2-xa^2+2*y*(ya-yc)+yc^2-ya^2=dc^2-da^2;
f2 = 2*x*(xb-xc)+xc^2-xb^2+2*y*(yb-yc)+yc^2-yb^2=dc^2-db^2;
% 解关于x,y的符号方程组,得到解的符号表示,并存入xx,yy
[xx,yy] = solve(f1,f2,x,y);
我用的是2016a,这样写会报错
但是怎么检查都觉得没有毛病,网上查、看help(虽然也不太能看懂)都不行,最后把f1和f2的等号改成像c语言里面表示相等的双等号“==”才行。
正确的代码
f1 = 2*x*(xa-xc)+xc^2-xa^2+2*y*(ya-yc)+yc^2-ya^2==dc^2-da^2;
f2 = 2*x*(xb-xc)+xc^2-xb^2+2*y*(yb-yc)+yc^2-yb^2==dc^2-db^2;
% 解关于x,y的符号方程组,得到解的符号表示,并存入xx,yy
[xx,yy] = solve(f1,f2,x,y);