Effacer les filtres
Effacer les filtres

How to EFFICIENTLY extract different length of vector from a different cell container?

1 vue (au cours des 30 derniers jours)
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 commentaires
KSSV
KSSV le 28 Nov 2017
Note that Cellfun also uses for loop inside.
balandong
balandong le 28 Nov 2017
Thanks for the heads up. However, using CELLFUN make the overall code more compact, although I think it may consume the processing time.

Connectez-vous pour commenter.

Réponse acceptée

Jos (10584)
Jos (10584) le 28 Nov 2017
Modifié(e) : Jos (10584) le 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 commentaires
balandong
balandong le 28 Nov 2017
Hi Jos, Thanks for the quick reply and awesome solution. Really appreciate it.
Btw, what do you mean by Do you not want to extract the values from 1 until a specific value, rather than a single value?. Your solution above does answer my original question actually.
Jos (10584)
Jos (10584) le 28 Nov 2017
Oh, sorry, I read your question to quickly ... answer updated!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by