Get multiple matrices automatically in workspace

2 次查看(过去 30 天)
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 个评论
John D'Errico
John D'Errico 2017-1-2
编辑:John D'Errico 2017-1-2
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.

请先登录,再进行评论。

采纳的回答

Niels
Niels 2017-1-2
编辑:Niels 2017-1-2
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by