如何合并来自不同矩阵的行

How to combine rows from different matrices

我标定了十张图片,得到了它的平移向量和旋转向量。

V = cameraParams.TranslationVectors (3X10) 
R = cameraParams.RotationVectors; (3X10)

如何为所有十个分量分配十个 [1x6] 矩阵,方法是从 V 中取三个,从 R(各个图像)中取三个。

示例:

V = 
1 2 3 
4 5 6
7 8 9
. . .
. . .

R = 
11 12 13 
14 15 16
17 18 19
.  .  .
.  .  .

Final = 
1 2 3 11 12 13
4 5 6 14 15 16
. . .  .  .  .  
. . .  .  .  .
V = cameraParams.TranslationVectors
V(:,1) %Reading 1st row
A(1) gives the first value

但我怎样才能有效地做到这一点?

你想要的是Concatenate arrays horizontally。可以使用以下方法之一完成:

Final = [V, R]
Final = [V R]
Final = horzcat(V, R)
Final = cat(2, V, R)    % Concatenate along the second dimension

第一个是最常见的。对于不习惯 MATLAB 语法的人来说,第三种可能最容易阅读。第四种方法通常仅在您想要沿维度 3 ... N 连接矩阵时使用,即不水平或垂直。