Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有将旋转矩阵转换为加速度向量的matlab函数?_Matlab_Rotational Matrices - Fatal编程技术网

是否有将旋转矩阵转换为加速度向量的matlab函数?

是否有将旋转矩阵转换为加速度向量的matlab函数?,matlab,rotational-matrices,Matlab,Rotational Matrices,给定一个3 x 3的旋转矩阵和一个恒定加速度A,我想求出三个方向的加速度分量,即Ax,Ay,Az 尽管“重新发明轮子”并不困难,但我想知道是否有一个Matlab函数已经做到了这一点,特别是在航空航天工具箱中?一个NxN旋转矩阵有N(N-1)/2个嵌入角度。将单位右手尺坐标系旋转到R方向需要进行多次旋转。在你的例子中有三个角度 不,Matlab没有这样的内置函数。一、 也是,我自己的。注意你需要的弧棕褐色,当然要使用atan(y,x)形式,这样你就不会失去180度的旋转 旋转矩阵始终是一个相对信息

给定一个3 x 3的旋转矩阵和一个恒定加速度A,我想求出三个方向的加速度分量,即Ax,Ay,Az


尽管“重新发明轮子”并不困难,但我想知道是否有一个Matlab函数已经做到了这一点,特别是在航空航天工具箱中?

一个NxN旋转矩阵有N(N-1)/2个嵌入角度。将单位右手尺坐标系旋转到R方向需要进行多次旋转。在你的例子中有三个角度


不,Matlab没有这样的内置函数。一、 也是,我自己的。注意你需要的弧棕褐色,当然要使用atan(y,x)形式,这样你就不会失去180度的旋转

旋转矩阵始终是一个相对信息,可能它给出了相对于[1 0]的方向。要获得组件,必须乘以:

R*[A;0;0]

在向心力中的加速度向量?在我的例子中,A是重力引起的加速度。所以我们假设物体上的所有力都来自重力,用于旋转物体的力可以忽略不计。基本上,我想象一些函数,将旋转矩阵转换为一个3 x1的角度向量w.r.t.全局框架,然后将加速度向量(本例中的重力)分解为ax、ay和az。同样,为了避免重新发明轮子,我希望看到一个库函数,它可以做到这一点……实际上,相对于eye(N),而不是[10 0]。
eye(3)
是没有旋转的,这很明显,但是什么是没有旋转的向量?出于某种原因,我不太理解一些库假设
[0,1,0]
是一个未旋转的向量。我评论了方向是相对于眼睛(N),而不是子空间中的一个向量。向量独立于坐标系而存在。向量之间的关系通过内积和叉积来描述(在R3中)。矩阵将向量的坐标系分解到我们自己的基上,当我们填充旋转矩阵项时,我们将施加一个基。这是一个更简单的解决方案。除了我的例子,加速度向量是[0,0,A]'你的版本有可能在网上的某个地方找到吗?还是你刚才所说的更完整的教程?在此之前,我还没有想到180度旋转。恐怕它还没有出版。对于3x3,只需找到将e1旋转到[1 0 0]的角度,然后在R2中找到旋转到其余轴的两个角度。因为R=Rx Ry Rz=Rz Ry Rx,所以答案不是唯一的。一个一致的旋转顺序就是你所需要的。我回答了你最初的问题吗?差不多。现在我有了一个3 x 1的角向量,那么将加速度向量投影到每个分量上的矩阵运算是什么呢?与做Ax=A*sin(ThetaX)等相反,我不知道我是否能帮助你进一步b/c我们不知道向量A的坐标系,而你原始旋转矩阵R的坐标系。投影是用投影仪完成的,P(P'P)^-1p',它依赖于内积,内积是比较两个向量的基本方法。也许你应该问一个单独的问题(只是一个想法)。