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

Answers (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 Comments

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 on 8 Feb 2017
Edited: ML on 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.

This question is closed.

Asked:

ML
on 8 Feb 2017

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!