2012-10-09 90 views
2

我有一個包含380個矩陣的單元陣列C,並且希望將它們放入三維矩陣M 中,使得C的前20個矩陣將以M(:,:,1), M(:,:,2)中的第二20個矩陣(從21到40)等等。在Matlab中提取和存儲矩陣

編輯:我想將它們連接成列。

我可以在Matlab的一個循環中做到這一點。

+0

你想連接20個矩陣行或按列? – petrichor

+1

你有正確的想法,只需將它包裝在for循環中for for i = 1:20:380'並使用索引賦值運算符就像你在問題中顯示的那樣按照你的意願組織元素。如果尺寸不是那麼整齊,你可能需要嵌套一個循環來處理20個單獨的矩陣'對於j = 1:20',並將它們插入正確的位置 –

回答

6

你甚至都不需要一個循環:

%# C: cell array with 380 elements 

%# reshape C to 20x1xn 
C = reshape(C,20,1,[]); 

%# create matrix M 
M = cell2mat(C);