【matlab方程数大于未知数个数时的求解symsxnynznxtytzt[o3,o4,o5,o6]=solve('cos(o3)*cos(o4)*cos(o5)-sin(o3)*sin(o5)=xn','cos(o3)*cos(o4)*cos(o5)+cos(o3)*sin(o5)=yn','-sin(o4)*cos(o5)=zn','(-cos(o3)*cos(o4)*sin(o5)-sin(o3)*cos(o5))*cos(】
matlab方程数大于未知数个数时的求解
symsxnynznxtytzt
[o3,o4,o5,o6]=solve('cos(o3)*cos(o4)*cos(o5)-sin(o3)*sin(o5)=xn','cos(o3)*cos(o4)*cos(o5)+cos(o3)*sin(o5)=yn','-sin(o4)*cos(o5)=zn','(-cos(o3)*cos(o4)*sin(o5)-sin(o3)*cos(o5))*cos(o6)+cos(o3)*sin(o4)*sin(o6)=xt','(-sin(o3)*cos(o4)*sin(o5)+cos(o3)*cos(o5))*cos(o6)+sin(o3)*sin(o4)*sin(o6)=yt','sin(o4)*sin(o5)*cos(o6)+cos(o4)*sin(o6)=zt','o3,o4,o5,o6')
古道热肠,路过有知情者望不吝赐教!
我把原来六个方程化简,约掉两个,输入到matlab里仍然解不出来,化简后的方程组如下:
symsxnynznxtytzt
[o3,o4,o5,o6]=solve('xn*cos(o3)+yn*sin(o3)=cos(o4)*cos(o5)','-sin(o4)*cos(o5)=zn','xt*cos(o3)+yt*sin(o3)=sin(o4)*sin(o6)-cos(o4)*sin(o5)*cos(o6)','sin(o4)*sin(o5)*cos(o6)+cos(o4)*sin(o6)=zt','o3,o4,o5,o6')