Encapsulated cell array (cell in cell) converting to 2D-array
Mostra commenti meno recenti
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!
Risposte (1)
the cyclist
il 26 Ago 2019
Modificato: the cyclist
il 26 Ago 2019
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.
Categorie
Scopri di più su Cell Arrays in Centro assistenza e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!