作业帮 > 综合 > 作业

matlab求解方程的时候出现 is not a valid expression or equation.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/15 15:33:49
matlab求解方程的时候出现 is not a valid expression or equation.
程序如下:
syms theta fai psai alpha;
syms x y z;
eq1='x*x*(1-cos(alpha))+cos(alpha)=cos(theta)*cos(psai)';
eq2= 'x*y*(1-cos(alpha))-z*sin(alpha)=cos(psai)*sin(fai)*sin(theta)-sin(psai)*cos(fai)';
eq3= 'x*y*(1-cos(alpha))-z*sin(alpha)=cos(psai)*sin(fai)*sin(theta)-sin(psai)*cos(fai)';
eq4= 'x*y*(1-cos(alpha))+z*sin(alpha)=sin(fai)*cos(theta)';
eq5='y*y*(1-cos(alpha))+cos(alpha)=sin(psai)*sin(fai)*sin(theta)+cos(psai)*cos(fai)';
eq6= 'y*z*(1-cos(alpha))-x*sin(alpha)=sin(psai)*cos(fai)*sin(theta)-cos(psai)*sin(fai)';
eq7= 'x*z*(1-cos(alpha))-y*sin(alpha)=-sin(theta)';
eq8='y*z*(1-cos(alpha))+x*sin(alpha)=cos(theta)*sin(fai)';
eq9= 'z*z*(1-cos(alpha))+cos(alpha)=cos(theta)*cos(fai)';
[theta,fai,psai]=solve(eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8,eq9)
上述的写法有问题,应写成
eq1=x*x*(1-cos(alpha))+cos(alpha)-cos(theta)*cos(psai);
syms theta fai psai alpha;
syms x y z;
eq1=x*x*(1-cos(alpha))+cos(alpha)-cos(theta)*cos(psai);
eq2= x*y*(1-cos(alpha))-z*sin(alpha)-(cos(psai)*sin(fai)*sin(theta)-sin(psai)*cos(fai));
eq3= x*y*(1-cos(alpha))-z*sin(alpha)-(cos(psai)*sin(fai)*sin(theta)-sin(psai)*cos(fai));
eq4= x*y*(1-cos(alpha))+z*sin(alpha)-(sin(fai)*cos(theta));
eq5=y*y*(1-cos(alpha))+cos(alpha)-(sin(psai)*sin(fai)*sin(theta)+cos(psai)*cos(fai));
eq6= y*z*(1-cos(alpha))-x*sin(alpha)-(sin(psai)*cos(fai)*sin(theta)-cos(psai)*sin(fai));
eq7= x*z*(1-cos(alpha))-y*sin(alpha)+sin(theta);
eq8=y*z*(1-cos(alpha))+x*sin(alpha)-cos(theta)*sin(fai);
eq9=z*z*(1-cos(alpha))+cos(alpha)-cos(theta)*cos(fai);
[theta,fai,psai]=solve(eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8,eq9,'theta','fai','psai')
Warning: 9 equations in 3 variables.
Warning: Explicit solution could not be found.
> In solve at 81

theta =

[ empty sym ]

fai =
[]
psai =
[]
没有解析解
你的方程太多了吧,未知数只有三个
再问: 但是这几个方程不是独立的,应该有确定的解,请问你知道该怎么求吗?
再答: 选三个方程联立求解,