在Matlab中使用rotate计算旋转矩阵

时间:2014-05-04 20:21:54

标签: matlab rotation rotational-matrices

我在Windows 7 Pro 64位上使用Matlab 2013a。

2010年(使用不同版本的Matlab),我编写了以下代码来计算3x3旋转矩阵

C=rotate (omega, i, w);
R=C*Ro;

其中omega,i和w是以弧度表示的旋转角度。在我当前的系统中,给出omega = i = w = 0的示例输入,C将是3x3单位矩阵。

如果我将代码复制到我在过去几个月写的另一个目录中,相同的代码将导致以下错误。

Error using rotate
Too many output arguments.

所以我的问题是为什么在同一台计算机上使用相同版本的Matlab的相同代码行将在一个目录中工作,而不是在另一个目录中?

1 个答案:

答案 0 :(得分:0)

如果您已阅读rotate的帮助,您会看到这个不计算旋转矩阵,但会旋转matlab图。一些工具箱,例如相控阵系统工具箱,有一些函数rotx, roty,...来计算旋转矩阵。

然而,用于计算旋转矩阵的函数并不难构建。查看http://en.wikipedia.org/wiki/Rotation_matrix给出了每个轴的旋转矩阵。然后,一般旋转矩阵是各个旋转矩阵的乘积。这应该是小菜一碟。