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

Risposte (1)

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 Commenti

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)
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 il 8 Feb 2017
Modificato: ML il 8 Feb 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.

Questa domanda è chiusa.

Richiesto:

ML
il 8 Feb 2017

Chiuso:

il 20 Ago 2021

Community Treasure Hunt

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

Start Hunting!

Translated by