我要求一个非线性方程组, sqrt((x+a)^2+y^2+z^2)- sqrt(x^2+y^2+z^2)=340*t18 v( w3 w ~6 R, N+ C r6 I
sqrt((x+a)^2+y^2+z^2)-sqrt((x-a)^2+y^2+z^2)=340*t2 ' ~) n J0 O9 d' J% Z sqrt(x^2+y^2+z^2)-sqrt((x-a)^2+y^2+z^2)=340*t3/ p2 T! d* R0 N7 a
要求输入参数为a,t1,t2,t3,变量。程序返回方程组的解x,y,z。% S' K/ Y' r1 [1 d# Z3 s, y; G
function F=myfun(x)( J+ Y0 \$ V( C0 P2 f$ [! q0 w% D. x# v
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;];+ f. |+ c3 M6 y. C# ~$ k/ O9 H7 D# Z
5 A$ M9 d& r) L+ j& B6 R( K5 ex0=[0;0;0]; 7 t7 r* ?9 ]4 z2 T" o; n3 ?
options=optimset('Display','iter'); 2 }: M4 o4 W2 d. |; ]0 f [x,fv]=fsolve(@myfun,x0,options) - p6 o* x9 Z) c% @, c2 l( f& J# ^' }/ f2 u0 C8 x" ^$ G
x=x(1);y=x(2);z=x(3); * q6 f5 r; [- U, ]( g P; ?! U% i7 |% o6 z0 o
假如t1,2,3和a都是已知数了,那么程序可以直接输出x,y,z。但我如何让他们以输入参数的形式出现呢。就比如说,他们是实际测量得到的数据,数据量很大的时候,总不能每次都重新输一遍程序,假如t1,2,3和a是可以matla独处的,那么在哪里赋值,怎样为之赋值才能让他们以方程组自变量的形式出现呢,也就是如何动态的读入并修改程序里的a,t1,t2,t3的值。 ( s0 U% q# `4 l" {! N7 i [' g$ c 8 S. { k+ f7 `& R9 j% p新手,体力不够了,只有20,刚发了一个悬赏50体力,结果有乱码,帮帮忙把程序编出来,我用七十体力来答谢你,我的全部家当,真的谢谢您 3 e, U0 @5 B. m" f! o2 h" p: o" I