2015-06-16 127 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;