How to do this pre-allocation without loop

how to write the following pre-allocation without for-loop? i.e. using one line code?
for i = 1:size (Samples, 2)
for j =1:size(Samples{i},1)
A{i}(j,500) = 0;
end
end

Réponses (1)

KSSV
KSSV le 8 Fév 2017
A = cell(size(Samples,2),1) ;
for i = 1:size (Samples, 2)
for j =1:size(Samples{i},1)
A{i}(j,500) = 0;
end
end

3 commentaires

ML
ML le 8 Fév 2017
this is not true. say we need 2 cells (i=2) for the first one we have j rows (e.g j = 20) and for the second cell j rows (e.g j=20)
KSSV
KSSV le 8 Fév 2017
Did you run it? If it throws any error, show the error. How you expect to give correct one with out knowing what is Samples size and it's class?
ML
ML le 8 Fév 2017
Modifié(e) : ML le 8 Fév 2017
If you read the question, I asked without loop. Your solution still contains the for loop which I wrote above.
You only added a line to that which preallocates the cells.

Cette question est clôturée.

Question posée :

ML
le 8 Fév 2017

Clôturé :

le 20 Août 2021

Community Treasure Hunt

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

Start Hunting!

Translated by