matlab解非线性方程组 程序如下 不知道为什么显示Explicit solution could not be found a=100/180*pi %定义欧拉角φ1角度值b=45/180*pi %定义欧拉角Φ角度值c=60/180*pi %定义欧拉角φ2角度值M1=[cos(a),-sin(a),0;sin(a),
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/23 16:46:52
matlab解非线性方程组 程序如下 不知道为什么显示Explicit solution could not be found a=100/180*pi %定义欧拉角φ1角度值b=45/180*pi %定义欧拉角Φ角度值c=60/180*pi %定义欧拉角φ2角度值M1=[cos(a),-sin(a),0;sin(a),
matlab解非线性方程组 程序如下 不知道为什么显示Explicit solution could not be found
a=100/180*pi %定义欧拉角φ1角度值
b=45/180*pi %定义欧拉角Φ角度值
c=60/180*pi %定义欧拉角φ2角度值
M1=[cos(a),-sin(a),0;sin(a),cos(a),0;0,0,1] %定义旋转矩阵M1
M2=[1,0,0;0,cos(b),-sin(b);0,sin(b),cos(b)] %定义旋转矩阵M2
M3=[cos(c),-sin(c),0;sin(c),cos(c),0;0,0,1] %定义旋转矩阵M3
M=M1*M2*M3 %给出总的旋转矩阵M
A=M*[1;1;0] %计算(110)晶向在宏观坐标架下的取向
x=A(1,1)
y=A(2,1) %定义宏观取向下的轴长度
z=A(3,1)
r=(x.^2+y.^2+z.^2).^0.5 %定义球的半径
r1=(x.^2+y.^2).^0.5 %定义一个变量
if z>=0 %判断取向于球交点是否位于上半球
syms m n; %定义两个符号变量
[m,n]=solve('m+n=r1','n/m=z/r'); %解方程组
x1=m.*x./r1.^0.5
y1=m.*y./r1.^0.5 %计算极射赤面投影在赤平面坐标
else
syms m n; %定义两个符号变量;
[m,n]=solve('m+n=r1','n/m=-z/r'); %解方程组
x1=-m.*x./r1.^0.5
y1=-m.*y./r1.^0.5 %计算极射赤面投影在赤平面坐标
end
前面的到计算r1的步骤没问题 if后解方程的时候出现问题了 求帮忙给出后面正确的步骤
matlab解非线性方程组 程序如下 不知道为什么显示Explicit solution could not be found a=100/180*pi %定义欧拉角φ1角度值b=45/180*pi %定义欧拉角Φ角度值c=60/180*pi %定义欧拉角φ2角度值M1=[cos(a),-sin(a),0;sin(a),
将[m,n]=solve('m+n=r1','n/m=z/r');
[m,n]=solve('m+n=r1','n/m=-z/r');
中的单引号去掉,就可以了.改为
[m,n]=solve(m+n-r1,n./m-z./r);
[m,n]=solve(m+n-r1,n./m+z./r);