Borrar filtros
Borrar filtros

Get multiple matrices automatically in workspace

2 visualizaciones (últimos 30 días)
Marwen Tarhouni
Marwen Tarhouni el 2 de En. de 2017
Comentada: Stephen23 el 3 de En. de 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 comentarios
John D'Errico
John D'Errico el 2 de En. de 2017
Editada: John D'Errico el 2 de En. de 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 el 3 de En. de 2017
"I want to have 50 matrix automatically using the For loop"
Don't do this. Read this to know why:

Iniciar sesión para comentar.

Respuesta aceptada

Niels
Niels el 2 de En. de 2017
Editada: Niels el 2 de En. de 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

Más respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by