Save data from a for loop with different dimensions?

4 vues (au cours des 30 derniers jours)
pauldjn
pauldjn le 17 Juin 2018
Commenté : Ameer Hamza le 17 Juin 2018
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?

Réponse acceptée

Ameer Hamza
Ameer Hamza le 17 Juin 2018
Modifié(e) : Ameer Hamza le 17 Juin 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 commentaires
pauldjn
pauldjn le 17 Juin 2018
Thanks it worked perfectly, I didn't know my index was so wrong
Ameer Hamza
Ameer Hamza le 17 Juin 2018
You are welcome.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by