怎么用matlab解这个方程组先是三个方程F(x,y,z)=log(((x^2+y^2+(z-5)^2)^0.5)-y)-log(((x^2+y^2+(z-5)^2)^0.5)+y);D(y,x,z)=log(((x^2+y^2+(z-5)^2)^0.5)-y)-log(((x^2+y^2+(z-5)^2)^0.5)+y); (第二个和第一个很类似,只是变量的位置

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 22:45:44

怎么用matlab解这个方程组先是三个方程F(x,y,z)=log(((x^2+y^2+(z-5)^2)^0.5)-y)-log(((x^2+y^2+(z-5)^2)^0.5)+y);D(y,x,z)=log(((x^2+y^2+(z-5)^2)^0.5)-y)-log(((x^2+y^2+(z-5)^2)^0.5)+y); (第二个和第一个很类似,只是变量的位置
怎么用matlab解这个方程组
先是三个方程
F(x,y,z)=log(((x^2+y^2+(z-5)^2)^0.5)-y)-log(((x^2+y^2+(z-5)^2)^0.5)+y);
D(y,x,z)=log(((x^2+y^2+(z-5)^2)^0.5)-y)-log(((x^2+y^2+(z-5)^2)^0.5)+y); (第二个和第一个很类似,只是变量的位置发生了改变)
G(x,y,z)=atan((x/y*(z-5)/(x^2+y^2+(z-5)^2)^0.5));
假设F,D,G各有一值,如1,1,1.
怎么求解x,y,z.

怎么用matlab解这个方程组先是三个方程F(x,y,z)=log(((x^2+y^2+(z-5)^2)^0.5)-y)-log(((x^2+y^2+(z-5)^2)^0.5)+y);D(y,x,z)=log(((x^2+y^2+(z-5)^2)^0.5)-y)-log(((x^2+y^2+(z-5)^2)^0.5)+y); (第二个和第一个很类似,只是变量的位置
我帮你试了试,可以的
function a=qiujie(p)
x=p(1);
y=p(2);
z=p(3);
a(1)=log(((x^2+y^2+(z-5)^2)^0.5)-y)-log(((x^2+y^2+(z-5)^2)^0.5)+y);
a(2)=log(((y^2+x^2+(z-5)^2)^0.5)-x)-log(((y^2+x^2+(z-5)^2)^0.5)+x);
a(3)=atan((x/y*(z-5)/(x^2+y^2+(z-5)^2)^0.5));
clc;clear;
options = optimset('Display','off','TolFun',1e-20,'MaxIter',20000,'MaxFunEvals',10000);
t=fsolve('qiujie',[1,1,1],options)
x=-0.000000000012715;
y=2.227416301455072;
z=-269012.6180821919;

化成矩阵运算

俄。。。。。。。。。。。。。。。。。。。。。。。。。。

这个用 fsolve 根本解不出来的。fsolve 函数对初值比较敏感,函数稍微变态点就很难解了。建议用其他软件比如 1stopt 试试看。不是吧,就是说matlab解不出来呗。那怎么办?你说的那个没用过啊,matlab都不熟。就是说这个方程可能无解。我试了一下,mathematica 也不行。...

全部展开

这个用 fsolve 根本解不出来的。fsolve 函数对初值比较敏感,函数稍微变态点就很难解了。建议用其他软件比如 1stopt 试试看。

收起