Encapsulated cell array (cell in cell) converting to 2D-array
조회 수: 12 (최근 30일)
이전 댓글 표시
Hello,
I´m searching for an efficient method to convert an cell-in-cell array, e.g. 1000 x 1 Cell, each filled with 1 x 33 cell to 1000 x 33 Cell array. This is my code so far including undesired for-loops:
cell_array = regexp(text_data, '\;', 'split'); % splitting textfile with semikolon seperated data (1000 x 1) x (1 x 33)
for i=1:length(cell_array)
single_data = cell2mat([cell_array{i,1}(1,1), cell_array{i,1}(1,16), cell_array{i,1}(1,31), cell_array{i,1}(1,32)]); % just extracting 4 relevant values
data = [data; single_data]; % collect data
end
It works so far, but for datasets up to 10e6 it takes too much time.
Thanks for your help!
댓글 수: 0
답변 (1개)
the cyclist
2019년 8월 26일
편집: the cyclist
2019년 8월 26일
data = cellfun(@(x)cell2mat([x(1,1), x(1,16), x(1,31), x(1,32)]),cell_array,'unif',false);
I did not test it for speed.
댓글 수: 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!