- 在线时间
- 9 小时
- 最后登录
- 2015-2-13
- 注册时间
- 2014-1-8
- 听众数
- 11
- 收听数
- 0
- 能力
- 0 分
- 体力
- 87 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 42
- 相册
- 0
- 日志
- 1
- 记录
- 0
- 帖子
- 44
- 主题
- 4
- 精华
- 0
- 分享
- 0
- 好友
- 9
升级   38.95% TA的每日心情 | 奋斗 2015-1-16 20:44 |
|---|
签到天数: 10 天 [LV.3]偶尔看看II
- 自我介绍
- 华北电力大学 电气工程自动化 12级七班
 群组: 学术交流B 群组: Matlab讨论组 |
20体力
我要求一个非线性方程组, sqrt((x+a)^2+y^2+z^2)- sqrt(x^2+y^2+z^2)=340*t13 ~1 u- k, U: x' e1 `1 S' g7 l
sqrt((x+a)^2+y^2+z^2)-sqrt((x-a)^2+y^2+z^2)=340*t2: m h" I y' R6 R, \% }; h5 v
sqrt(x^2+y^2+z^2)-sqrt((x-a)^2+y^2+z^2)=340*t37 q4 ]7 c8 |' d+ U% e$ Y7 E
要求输入参数为a,t1,t2,t3,变量。程序返回方程组的解x,y,z。
9 C" X! e, q8 @1 |4 Zfunction F=myfun(x)1 R4 n [; i, M$ E" d3 m
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;];! D9 H1 F8 o% \+ F5 q, a$ \
3 m1 H i! ]3 G0 Z8 e& wx0=[0;0;0]; & G( S# ~: D3 @8 V: \8 |2 y0 V7 v
options=optimset('Display','iter');
- K) H' ~$ A! ^4 C: }: E4 K. H [x,fv]=fsolve(@myfun,x0,options) # |) u/ Z, z" B ]* k1 k7 y
' e% [: [2 ]7 \. f' o. X
x=x(1);y=x(2);z=x(3);, d8 K8 [: \/ w- x4 e7 V/ Z. m
/ ~$ @8 i" d/ V8 E* I) @) g% e
假如t1,2,3和a都是已知数了,那么程序可以直接输出x,y,z。但我如何让他们以输入参数的形式出现呢。就比如说,他们是实际测量得到的数据,数据量很大的时候,总不能每次都重新输一遍程序,假如t1,2,3和a是可以matla独处的,那么在哪里赋值,怎样为之赋值才能让他们以方程组自变量的形式出现呢,也就是如何动态的读入并修改程序里的a,t1,t2,t3的值。" @* S! V2 S: ]8 \% m6 Z7 t
5 h# R8 x# o6 i6 Y. c
新手,体力不够了,只有20,刚发了一个悬赏50体力,结果有乱码,帮帮忙把程序编出来,我用七十体力来答谢你,我的全部家当,真的谢谢您# H( s. d) d; H. N/ L+ A: o
|
zan
|