Save data from a for loop with different dimensions?

Hello I'm trying to store the data of the next loop by vectorizing each iteration:
lambda = 2;
distri= poissrnd(lambda,1,5);
xi= distri
for x = xi
r(x)= randi([1,4],1,x)
end
But I get this error: Subscripted assignment dimension mismatch.
I think is because the different results of the loop are of different sizes so they can´t be put in a single vector, so there is another way to save my data?

 採用された回答

Ameer Hamza
Ameer Hamza 2018 年 6 月 17 日
編集済み: Ameer Hamza 2018 年 6 月 17 日

1 投票

Each iteration has a different number of elements so you will need a cell array. Also, you will need to change the indexing of for loop
lambda = 2;
distri= poissrnd(lambda,1,5);
xi= distri;
for x = 1:numel(xi)
r{x}= randi([1,4],1,xi(x));
end

2 件のコメント

pauldjn
pauldjn 2018 年 6 月 17 日
Thanks it worked perfectly, I didn't know my index was so wrong
Ameer Hamza
Ameer Hamza 2018 年 6 月 17 日
You are welcome.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

質問済み:

2018 年 6 月 17 日

コメント済み:

2018 年 6 月 17 日

Community Treasure Hunt

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

Start Hunting!

Translated by