2011-11-10 486 views
1

這是我的matlab問題。我需要編寫一個matlab函數,將所有數據從struct數據類型複製到矩陣。問題是每個條目可以有不同的長度。所以我一直在做的是遍歷所有這些條目,以便預先計算矩陣的最終大小。Matlab:調整矩陣大小

%Calculate final size of Matrix 
nFieldsY = length(CompleteData.Y); 
nFieldsX = length(CompleteData.X); 
maxRowNumber = 0; 
maxColNumber = nFieldsY + nFieldsX; 

for j = 1:nFieldsY 
    l_x = length (CompleteData.X(1,j).Data); 
    l_y = length (CompleteData.Y(1,j).Data); 
    compAr = [maxRowNumber l_x l_y]; 
    maxRowNumber = max(compAr); 
end 

ResultMatrix = zeros(maxRowNumber, maxColNumber); 

所以「ResultMatrix」表示可能存儲的數據的最大值。現在我想替換矩陣的列m中的第一個n條目。列的其餘部分仍應填充零。儘管我所有的努力,我得到「尺寸不匹配」的錯誤。

感謝任何幫助。由於

回答

3

像這樣的事情

ResultMatrix(1:n,m) = n_entries 

其中n_entries是要放在列中的值的n x 1矩陣。

1:n挑選出的行1到的ResultMatrixnm拾取柱m

+0

非常感謝。正是我需要的:D – JonBlumfeld