How to EFFICIENTLY extract different length of vector from a different cell container?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
balandong
il 28 Nov 2017
Modificato: Jos (10584)
il 28 Nov 2017
Dear all, the idea was to extract different length of vector from a different cell container as demonstrated at the code below. However, I wonder if we can achieve the same procedure using CELLFUN instead. I really appreciate for any tips.
Thanks in advance
Data_CELL = {randi(9, 10,1),randi(9, 6,1),randi(9, 12,1),randi(9, 12,1)};
Extracttill=[4 4 10 9]';
ExtractedData=cell(4,1);
for f_x=1:4
data=Data_CELL{1,:};
ExtrcFUntl=Extracttill(f_x,1);
ExtractedData{f_x,1}=data(1:ExtrcFUntl,:);
end
2 Commenti
Risposta accettata
Jos (10584)
il 28 Nov 2017
Modificato: Jos (10584)
il 28 Nov 2017
Here is a "hidden-loop / one-liner":
Data_CELL = {randi(9, 10,1),randi(9, 6,1),randi(9, 12,1),randi(9, 12,1)};
Extracttill=[4 4 10 9]';
endExtractedData = arrayfun(@(k) Data_CELL{k}(1:Extracttill(k)),1:numel(Data_CELL),'un',0)
2 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!