Effacer les filtres
Effacer les filtres

Get multiple matrices automatically in workspace

3 vues (au cours des 30 derniers jours)
Marwen Tarhouni
Marwen Tarhouni le 2 Jan 2017
Commenté : Stephen23 le 3 Jan 2017
Dear,
I run an algorithm 50 times using the for loop. I want to save the results after each iteration ie I want to have in the workspace 50 matrices but I always find the last matrix (for i = 50). I apply this loop on all the algorithm. My algorithm contains Randomized values, every execution I have a matrix. I want to have 50 matrix automatically using the For loop but I find the last one in the workspace. Do you have an idea ?
for j=1:50
X = 200 * rand(1,20) - 100;
Y = 200 * rand(1,20) - 100;
for i=1:20
dist = sqrt((X(i)-X(:)).^2+(Y(i)-Y(:)).^2);
distance=[distance dist ];
end
end
Thnaks
  2 commentaires
John D'Errico
John D'Errico le 2 Jan 2017
Modifié(e) : John D'Errico le 2 Jan 2017
DON'T make 50 separate matrices.
You need to learn about arrays, and multi-dimensional arrays. Learn to use arrays. That is what makes MATLAB a useful tool.
Stephen23
Stephen23 le 3 Jan 2017
"I want to have 50 matrix automatically using the For loop"
Don't do this. Read this to know why:

Connectez-vous pour commenter.

Réponse acceptée

Niels
Niels le 2 Jan 2017
Modifié(e) : Niels le 2 Jan 2017
try this
for j=1:50
X = 200 * rand(1,20) - 100;
Y = 200 * rand(1,20) - 100;
for i=1:20
dist = sqrt((X(i)-X(:)).^2+(Y(i)-Y(:)).^2);
end
matrices{j}=dist;
end
with
matrices{n}
you should be able to get the matrix of the n. loop

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by