matlab 解三元二次方程组,求大神级解答

cos1 =0.9897;
cos2 =0.9873;
cos3 =0.9873;
sin1 =0.1435;
sin2 =0.1587;
sin3=0.1589;
a=420;
b=960;
如果用这一个方法解,等了好久提示内存不足
syms cx cy cz
[cx,cy,cz]=solve('cx*cos1+sqrt(b^2-cx^2*sin1^2)=cy','cx*cos2+sqrt(b^2-cx^2*sin2^2)=cz','cy^2+cz^2-2*cy*cz*cos3=a^2','cx,cy,cz')
如果用下面的这个提示可能有虚假解。
fc1=cx*cos1+sqrt(b^2-cx^2*sin1^2)-cy;
fc2=cx*cos2+sqrt(b^2-cx^2*sin2^2)-cz;
fc3=cy^2+cz^2-2*cy*cz*cos3-a^2;
[cy,cx,cz]=solve(fc1,fc2,fc3,'cy','cx','cz')
第二个的运行结果出来之后将得出的解带回方程,结果不符合第二个方程。
实在是没办法了,求大神们解答。

第1个回答  2013-04-30
建议用数值方法解,别用符号方法。
试试不动点迭代法或者牛顿迭代法。二分法可能也行。追问

能帮我写一下具体程序吗?

追答

算过了,结论是你的方程无解。
。。。。
这。。。

追问

额,好的,谢谢。

第2个回答  2013-04-30
没看懂你的题cos1 =0.9897;
cos2 =0.9873;
cos3 =0.9873;
sin1 =0.1435;
sin2 =0.1587;
sin3=0.1589;是条件?这个值都不对啊追问

3角不一样,但是很接近,算出来的cos是一样的,但是sin就不一样了。

追答

cos1 =0.9897;
cos2 =0.9873;
cos3 =0.9873;
sin1 =0.1435;
sin2 =0.1587;
sin3=0.1589;
我说这个值不对额SIN1=0.01745