matlab解含变量方程组问题

求matlab高手解答:
要计算一个坐标轴旋转变换,使坐标系中向量A2=[a2x, a2y, a2z];变成A1=[a1x,0,0];(a2x^2+a2y^2+a2z^2=a1x^2)
首先设置变量clear;close all;clc;
syms a b c;
syms a2x a2y a2z a1x;
写出坐标轴旋转矩阵(先绕y轴旋转b角度,再绕z轴旋转c)
yz =
[ cos(b)*cos(c), cos(b)*sin(c), -sin(b)]
[ -sin(c), cos(c), 0]
[ cos(c)*sin(b), sin(b)*sin(c), cos(b)]
A2=[a2x, a2y, a2z];A1=[a1x,0,0];
最后用solve求解[b,c]=solve('A2*yz=A1','b','c')
按理说应该得到b=***;c=***,可是没成功,报错了。
换成A2=[a2x, a2y, a2z];A1=[(a2x^2+a2y^2+a2z^2)^0.5,0,0];也还是不行

当算式中有三角函数时,往往solve不出结果,特别是未知数有2个以上,更是这样,解是很不确定的。因此,要尽量减少未知量的个数。看你的程序中,有7个未知量,用5个未知量表示2个未知量,且有三角函数式,当然不好解。追问

如果我只需要在[0,pi)之间求解是否可以呢?

温馨提示:答案为网友推荐,仅供参考
相似回答