我要求一个非线性方程组, sqrt((x+a)^2+y^2+z^2)- sqrt(x^2+y^2+z^2)=340*t1 ; [% u- g, v i7 \$ y9 @. R sqrt((x+a)^2+y^2+z^2)-sqrt((x-a)^2+y^2+z^2)=340*t2 R/ ~$ M: {; N2 j0 ]% H. f" R
sqrt(x^2+y^2+z^2)-sqrt((x-a)^2+y^2+z^2)=340*t3 $ M; d/ P4 B9 c6 j要求输入参数为a,t1,t2,t3,变量。程序返回方程组的解x,y,z。 ^" @; x1 E; ?4 e5 kfunction F=myfun(x). Z% H" _4 J1 ~
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;]; 1 L! V2 C. N& r( a+ L; v- l# g2 x: e2 M# q
x0=[0;0;0]; 2 J2 c7 M! d0 S N/ v& o options=optimset('Display','iter'); Q0 `( n: J3 \8 t3 ]: u; A
[x,fv]=fsolve(@myfun,x0,options) ' w- q: `5 I0 Y/ T) v 3 I6 S8 [" c. B) L L1 yx=x(1);y=x(2);z=x(3);8 C2 w; C# j1 |/ n# m, Z9 v. J4 N
) e! j0 f1 z. }; M' l% V- j% z: ^假如t1,2,3和a都是已知数了,那么程序可以直接输出x,y,z。但我如何让他们以输入参数的形式出现呢。就比如说,他们是实际测量得到的数据,数据量很大的时候,总不能每次都重新输一遍程序,假如t1,2,3和a是可以matla独处的,那么在哪里赋值,怎样为之赋值才能让他们以方程组自变量的形式出现呢,也就是如何动态的读入并修改程序里的a,t1,t2,t3的值。) l' A( O# a6 A% x# B
" N+ Z( A9 g) Y% w$ i
新手,体力不够了,只有20,刚发了一个悬赏50体力,结果有乱码,帮帮忙把程序编出来,我用七十体力来答谢你,我的全部家当,真的谢谢您 , G4 e* G% D8 a a