求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];也还是不行
如果我只需要在[0,pi)之间求解是否可以呢?