我正在使用SIMULINK,我需要定义一个旋转矩阵3,3,N,其中N是我试图模拟的机器人数量。要做到这一点,因为我也在使用Simulink编码器,我必须将与此矩阵相关的信号定义为变量大小,我必须按以下方式定义上限:
问题是当我只想使用一个机器人时(我将n_robots设置为1)我收到以下错误。
无法初始化' R' ' test_pos_ctrl_target /旋转矩阵到欧拉角度'至[3x3x1]。当矩阵的维数超过2时,尾随维的大小必须大于1.
有人可以帮助我吗?
非常感谢。
答案 0 :(得分:1)
您不能将最后一个维度设为1
,因为MATLAB会将任何维度[m,n,1]
矩阵视为[m,n]
。有关详细信息,请参阅size() returns 1 where matrix dimension should not exist。
尝试定义大小为R
的{{1}},然后在代码中重新排列矩阵(我假设您使用的是MATLAB功能块)。