MATLAB cell to matrix
이전 댓글 표시
I have 1 row and 106 columns. Each cell contains various numbers. Some cells contain 1 number, some contain 5, etc. The problem is this: If one number is present, it looks great. Some cells have more than one number. I would like for the second number to go in the second row, third number in third row, etc. I am not sure how to do this. I am guessing I need to make a zeros matrix or something but I am not sure
댓글 수: 6
Azzi Abdelmalek
2014년 1월 13일
If M={1 [7 8] 3 [ 1 5 6] 0 [1 5 8] 2 10 }
What is the expected result?
Benjamin Cowen
2014년 1월 13일
Azzi Abdelmalek
2014년 1월 13일
You can simply post the expected result, if really you know what you want
Benjamin Cowen
2014년 1월 13일
Benjamin Cowen
2014년 1월 13일
Benjamin Cowen
2014년 1월 13일
채택된 답변
추가 답변 (1개)
Matt J
2014년 1월 13일
Is this what you want?
>> C={5,[6 7 8], [9,10]};
>>cell2mat(C)
ans =
5 6 7 8 9 10
Or,
>> [C{:}]
ans =
5 6 7 8 9 10
댓글 수: 6
Benjamin Cowen
2014년 1월 13일
Matt J
2014년 1월 13일
C={5,[6 7 8], [9,10]};
M=max(cellfun('length',C));
result = cell2mat(cellfun(@(c) pad(c,M), C, 'uni',0)),
function c=pad(c,M)
c=c(:);
c(M+1,1)=0;
c(end)=[];
end
Benjamin Cowen
2014년 1월 13일
Benjamin Cowen
2014년 1월 13일
Matt J
2014년 1월 13일
Yes. That is one of your options.
카테고리
도움말 센터 및 File Exchange에서 Multidimensional Arrays에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!