0

我想在 Simulink 中创建一个齐次矩阵,以模拟对象在空间中的旋转和平移。

如何创建一个 4x4 矩阵,它将给定的角度作为输入?

例如,X 轴上的平移与 Z 轴上的旋转相结合将在 MATLAB 中:

%Supposing the input is 
in = [a, b]
%translational part:
transl = eye(4);
transl (1,4) = in(1);

%Rotational Part:
rotat = eye(4);
rotat(1:3,1:3) = rotx(in(2));

move = transl*rotat;

主要问题是我希望 Simulink 模型更无代码(没有 MATLAB 解释函数等),只是块。

谢谢你。

4

2 回答 2

1

尝试“旋转角度到方向余弦矩阵”块。它将旋转角度转换为方向余弦矩阵。输出是一个 3x3 矩阵 Rxyz,它基于从身体坐标系到地球坐标系的旋转角度执行坐标变换。

于 2014-04-09T22:24:20.773 回答
1

首先,有时代码是完成某事的更好方法。当作为信号处理完成时,有些事情是不必要的复杂。

AVector Concatenate可用于生成向量,然后将其输入到 aMatrix Concatenate中以创建矩阵。这两个块都在Math Operations下。在那里,您还应该找到将其与给定值相乘所需的所有方法,等等。

于 2013-08-06T14:59:29.317 回答