2014-07-15 4 views
0

크기가 1227
인 메시지가 있습니다. 각 셀에는 데이터 행이 있습니다. 각 행의 크기가 다릅니다. 1227 행의 행렬을 만들고 싶습니다. 다른 행의 각 행세포 배열에서 행렬로 변환

어떻게 할 수 있습니까?

+2

, 정의에 의해, 모든 행은 동일한 길이를 갖는다. 당신은 값으로 채워야 할 것입니다. 너가 원하는게 그거야? –

답변

1

매트릭스에서 정의상 모든 행의 길이는 같습니다. 귀하는 NaN 같은 값으로 채워야이 예에서는

data = {1:3, 4:5, 6:9}; %// example data 
M = numel(data); %// number of rows 
N = max(cellfun(@numel, data)); %// maximum number of columns 
matrix = NaN(M, N); %// initiallize with NaN (used as fill value) 
for m = 1:M 
    row = data{m}; %// extract values of cell 
    matrix(m, 1:numel(row)) = row; %// write to first entries of matrix row 
end 

, 매트릭스

>> celldisp(data) 
data{1} = 
    1  2  3 
data{2} = 
    4  5 
data{3} = 
    6  7  8  9 

>> matrix 
matrix = 
    1  2  3 NaN 
    4  5 NaN NaN 
    6  7  8  9