2015-06-16 130 views
0

我在写一段代码,我可以定义一些将生成的矩阵,然后循环生成它们。我挣扎的那一块是在矩阵的“命名”上,因为我想命名如下:matrix1;矩阵2;等矩阵命名在循环

下面的代码是什么,我这么远:

matrices_to_generate = 3; 

for i=1:matrices_to_generate 
    ['matrix' i] = rand(2,2); 
end; 
+3

如果矩阵的大小相同,为什么不装配3d矩阵?如果他们不是,为什么不使用单元阵列? – bla

+1

当您想要遍历所有这些矩阵时会发生什么?将所有这些矩阵放在一个数组(或单元数组)中是否像@bla所建议的那样简单,只需使用普通索引? – beaker

+0

知道如何命名矩阵非常方便,但单元阵列方法实际上更符合我的需求,它使我的代码更加动态,这正是我想要的,谢谢! – Victor

回答

2

使用assignin,你可以写一个自定义名称的工作空间的变量。

for i=1:matrices_to_generate 
    matrix = rand(2,2); 
    assignin('base', strcat('matrix', num2str(i)), matrix); 
end;