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

답변 (1개)

KSSV
KSSV 2017년 2월 8일

0 개 추천

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

ML
ML 2017년 2월 8일
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 2017년 2월 8일
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 2017년 2월 8일
편집: ML 2017년 2월 8일
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.

이 질문은 마감되었습니다.

질문:

ML
2017년 2월 8일

마감:

2021년 8월 20일

Community Treasure Hunt

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

Start Hunting!

Translated by