Pulling matrix column data out of a cell
조회 수: 1 (최근 30일)
이전 댓글 표시
I have a cell array with 29 matrices that are each 500x6 doubles. I want to take the first column of each matrix and load them into a single matrix that is 500x29. Then, I want to do this with each column, ending with 6 matrices of 500x29. I feel like theres a way to do this with a for loop I just dont know how. Help?
댓글 수: 0
채택된 답변
Ahmet Cecen
2016년 11월 12일
Say your Cell array is C:
D = cell2mat(C);
E = reshape(D(:),[500 29*6]);
Now every 500 by 29 chunk in E is a matrix you want.
댓글 수: 2
James Tursa
2016년 11월 12일
Slight edit:
D = cell2mat(C(:)); % Use C(:) to ensure columns line up
E = reshape(D,[500 29 6]); % So 3rd index picks off the 500x29 matrix
I.e., E(:,:,1) is your 1st matrix, E(:,:,2) is your 2nd matrix, etc. Could of course use mat2cell on E if you wanted the result in a cell array.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Cell Arrays에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!