主题:这个方程该如何解决,麻烦好心人
function y=myfun(j)
u=[ 10 20 30 40 50 60 ];
x=[ 33 34 35 36 37 38 ];
y=[ 101 102 103 104 105 106 ];
z=[ 1000 1500 1600 880 2200 980 ];
syms j1 j2 j3
for i=1:6
r(i)=sqrt(x(i)^2+y(i)^2+z(i)^2) ;
F(i)=cos(j(2))*(x(i)*y(i)*cos(j(1))^2+(y(i)^2-x(i)^2)*cos(j(1))*sin(j(1))-x(i)*y(i)*sin(j(1))^2)+sin(j(2))*(x(i)*z(i)*sin(j1)-y(i)*z(i)*cos(j(1)));
P(i)=cos(j(2))^2*(y(i)^2-x(i)^2)*cos(j(1))^2-4*x(i)*y(i)*cos(j(1))*sin(j(1))-(y(i)^2-x(i)^2)*sin(j(1))^2+cos(j(1))*sin(j(2))*(2*x(i)*z(i)*cos(j(1))+2*y(i)*z(i)*sin(j(1)))+sin(j(2))^2*(y(i)^2-x(i)^2)*cos(j1)^2-2*x(i)*y(i)*cos(j(1))*sin(j(1))+(x(i)^2-z(i)^2)*sin(j(1))^2;
end
H=1/r(2)-(u(2)/u(1))*1/r(1);
K=(u(2)/u(1))*((2/r(1)^3) *(cos(2*j(3))*F(1)+(sin(2*j(3))/2)*P(1)))-(2/r(2)^3)*(cos(2*j(3))*F(2)+(sin(2*j(3))/2)*P(2));
for i=1:4
s(i)=K*(1/r(i+2)-(u(i+2)/u(1))*1/r(1))-H*((u(i+2)/u(1))*(2/r(1)^3)*(cos(2*j(3))*F(1)+sin(2*j(3))*P(1)*1/2)-(2/r(i+2)^3)*(cos(2*j(3))*F(i+2)+(sin(2*j(3))/2)*P(i+2)));
end
y=s(1)^2+s(2)^2+s(3)^2+s(4)^2
j0 = [20;20;20];
[j,FVAL,EXITFLAG,OUTPUT] = fminunc(@myfun,j0)
初学者望高手帮忙,我的方程就是s(1),s(2),s(3),s(4)四个式子,我用fminunc是否合理,我的目的是得到j1,j2,j3,u,x,y,z是输入数据,这个方程是用来研究地震震源机制化解后出现的,推理过程没有错,但是这么麻烦都不知道该怎么解决
u=[ 10 20 30 40 50 60 ];
x=[ 33 34 35 36 37 38 ];
y=[ 101 102 103 104 105 106 ];
z=[ 1000 1500 1600 880 2200 980 ];
syms j1 j2 j3
for i=1:6
r(i)=sqrt(x(i)^2+y(i)^2+z(i)^2) ;
F(i)=cos(j(2))*(x(i)*y(i)*cos(j(1))^2+(y(i)^2-x(i)^2)*cos(j(1))*sin(j(1))-x(i)*y(i)*sin(j(1))^2)+sin(j(2))*(x(i)*z(i)*sin(j1)-y(i)*z(i)*cos(j(1)));
P(i)=cos(j(2))^2*(y(i)^2-x(i)^2)*cos(j(1))^2-4*x(i)*y(i)*cos(j(1))*sin(j(1))-(y(i)^2-x(i)^2)*sin(j(1))^2+cos(j(1))*sin(j(2))*(2*x(i)*z(i)*cos(j(1))+2*y(i)*z(i)*sin(j(1)))+sin(j(2))^2*(y(i)^2-x(i)^2)*cos(j1)^2-2*x(i)*y(i)*cos(j(1))*sin(j(1))+(x(i)^2-z(i)^2)*sin(j(1))^2;
end
H=1/r(2)-(u(2)/u(1))*1/r(1);
K=(u(2)/u(1))*((2/r(1)^3) *(cos(2*j(3))*F(1)+(sin(2*j(3))/2)*P(1)))-(2/r(2)^3)*(cos(2*j(3))*F(2)+(sin(2*j(3))/2)*P(2));
for i=1:4
s(i)=K*(1/r(i+2)-(u(i+2)/u(1))*1/r(1))-H*((u(i+2)/u(1))*(2/r(1)^3)*(cos(2*j(3))*F(1)+sin(2*j(3))*P(1)*1/2)-(2/r(i+2)^3)*(cos(2*j(3))*F(i+2)+(sin(2*j(3))/2)*P(i+2)));
end
y=s(1)^2+s(2)^2+s(3)^2+s(4)^2
j0 = [20;20;20];
[j,FVAL,EXITFLAG,OUTPUT] = fminunc(@myfun,j0)
初学者望高手帮忙,我的方程就是s(1),s(2),s(3),s(4)四个式子,我用fminunc是否合理,我的目的是得到j1,j2,j3,u,x,y,z是输入数据,这个方程是用来研究地震震源机制化解后出现的,推理过程没有错,但是这么麻烦都不知道该怎么解决