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

Respuestas (1)

KSSV
KSSV el 8 de Feb. de 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 comentarios

ML
ML el 8 de Feb. de 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 el 8 de Feb. de 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 el 8 de Feb. de 2017
Editada: ML el 8 de Feb. de 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.

La pregunta está cerrada.

Preguntada:

ML
el 8 de Feb. de 2017

Cerrada:

el 20 de Ag. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by