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?

 Respuesta aceptada

Ameer Hamza
Ameer Hamza el 17 de Jun. de 2018
Editada: Ameer Hamza el 17 de Jun. de 2018
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 comentarios

pauldjn
pauldjn el 17 de Jun. de 2018
Thanks it worked perfectly, I didn't know my index was so wrong
Ameer Hamza
Ameer Hamza el 17 de Jun. de 2018
You are welcome.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 17 de Jun. de 2018

Comentada:

el 17 de Jun. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by