我要求一个非线性方程组, sqrt((x+a)^2+y^2+z^2)- sqrt(x^2+y^2+z^2)=340*t1
sqrt((x+a)^2+y^2+z^2)-sqrt((x-a)^2+y^2+z^2)=340*t2
sqrt(x^2+y^2+z^2)-sqrt((x-a)^2+y^2+z^2)=340*t3
要求输入参数为a,t1,t2,t3,变量。程序返回方程组的解x,y,z。
function F=myfun(x)
F=[sqrt((x(1)+a)^2+x(2)^2+x(3)^2)-sqrt(x(1)^2+x(2)^2+x(3)^2)-340*t1;sqrt((x(1)+a)^2+x(2)^2+x(3)^2)-sqrt((x(1)-a)^2+x(2)^2+x(3)^2)-340*t2;sqrt(x(1)^2+x(2)^2+x(3)^2)-sqrt(x(1)^2+x(2)^2+x(3)^2)-340*t3;];
x0=[0;0;0];
options=optimset('Display','iter');
[x,fv]=fsolve(@myfun,x0,options)
x=x(1);y=x(2);z=x(3);
假如t1,2,3和a都是已知数了,那么程序可以直接输出x,y,z。但我如何让他们以输入参数的形式出现呢。就比如说,他们是实际测量得到的数据,数据量很大的时候,总不能每次都重新输一遍程序,假如t1,2,3和a是可以matla独处的,那么在哪里赋值,怎样为之赋值才能让他们以方程组自变量的形式出现呢