matlab方程数大于未知数个数时的求解syms xn yn zn xt yt zt[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里仍然解不出来,化简后的方程组如下:sy
matlab方程数大于未知数个数时的求解
syms xn yn zn xt yt zt
[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里仍然解不出来,化简后的方程组如下:
syms xn yn zn xt yt zt
[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')
方程数大于未知数个数的方程,印象中叫做超定方程.你可以参考高等代数或者计算方法,具体怎么解我也忘了,不过,好像是用矩阵的方法可以做.这些内容,都是数学专业才会学的吧.他们工科数学什么的是没见过的,所以会像楼上那样惊讶~