如巧宽何用matlab求解欧拉角微分方程三维坐标角度α、β、γ?可以考虑用lsqnonlin()函数命令来求解。例如,已知(X,Y,Z)=(26.831.8301-0.66987),(x,y,z)宽宽皮=(102015),求角度慎差α、β、γ值。求解方法如下:
A=[26.831.8301-0.66987]C=[102015]
func=@(x,A,C)A-[cos(x(1)).*cos(x(3))-sin(x(1)).*cos(x(2)).*sin(x(3)) sin(x(1)).*cos(x(3))+cos(x(1)).*cos(x(2)).*sin(x(3)) sin(x(2)).*sin(x(3))...
-cos(x(1)).*sin(x(3))-sin(x(1)).*cos(x(2)).*cos(x(3)) -sin(x(1)).*sin(x(3))+cos(x(1)).*cos(x(2)).*cos(x(3)) sin(x(2)).*cos(x(3))...
sin(x(1)).*sin(x(3)) -cos(x(1)).*sin(x(3)) cos(x(2))]*C
x0=[1 1.5 0.5];
[x,resnorm,residual,exitflag] = lsqnonlin(@(x)func(x,A,C),x0)
运行结果:
α=1.047,β=1.5706,γ=0.52361
若高棚燃a为非一维向量,则可以通过转换变成一维向量。
所以说,应该通过两次戚虚旋转即可由a变换到b。
而两次旋转可以顺序不同,所以这个不解是唯一的。
【仅供参考】
这个函数返回搜衫沿x,y和z方向上的旋转,从3×3旋世冲腔转判余矩阵。This function return the rotation along x,y and z direction from a 3x3 Rotation Matrix.欢迎分享,转载请注明来源:内存溢出
评论列表(0条)