我有一個結構稱爲poseSets,它包含兩個方面:MATLAB,結構以矩陣形式與矩陣面向正確的方法
- 姿
- 時間
所以我想要做的是將姿勢(Pose是一個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將交付。有誰知道一個班輪或更好的方式來做到這一點?
或shiftdim ... – avishayp
@avip:不,這也會轉換數據。這不是OP的願望...... –