我有一个名为poseSets的结构,它包含两件事:
- 姿势
- 时间
所以我想要做的是将姿势(姿势是一个 4x4 矩阵)放入一个大的长(4xN_Poses) x 4
矩阵中。
所以让我们想象一下我有一个 10 长的结构列表。通过这样做,我几乎可以得到我的清单:
[structList.Pose]
但这给了我一个(4xN) x 4
矩阵,即:
1 2 3 4 | 1 2 3 4 | 1 2 3 4 | ...
5 6 7 8 | 5 6 7 8 | 5 6 7 8 | ...
3 5 6 8 | 3 5 6 8 | 3 5 6 8 | ...
0 0 0 1 | 0 0 0 1 | 0 0 0 1 | ...
但我真正想要的是:
1 2 3 4
5 6 7 8
3 5 6 8
0 0 0 1
_______
1 2 3 4
5 6 7 8
3 5 6 8
0 0 0 1
_______
1 2 3 4
5 6 7 8
3 5 6 8
0 0 0 1
_______
: : : :
现在我不能转置它,因为每个矩阵都会被单独转置并且是错误的方式。
现在您可以使用 for 循环来解决这个问题:
poseList = [];
for i = 1:length(PoseSets);
poseList = [poseList; PoseSets(i).Pose];
end
注意:poseList 包含我想要的。
但我个人认为 matlab 很神奇,你应该能够用英语写出你想要的东西,matlab 会提供。有谁知道一个班轮或更好的方法来做到这一点?