2017-08-20 17 views
-1

這裏是我的代碼:定義一系列的矩陣變量不使用電池在Matlab

A = zeros(10,10,10); 
for i = 1:10 
C{i} = A(:,:,i); 
end 

這只是一個簡單的例子,我的問題是:是否有任何其他方式,不使用電池(C { i)在代碼中)從3D矩陣(A)表示一系列2D矩陣變量(代碼中的A(:,:,i))。無論如何,我相信你會需要一些像'我'這樣的變量名。

提前致謝!

+1

爲什麼不使用'A(:,:,i)'?你想達到什麼目標,解決3D陣列不會給你? – beaker

回答

0

你可以這樣做:

A = zeros(10,10,10); 
for i = 1:10 
    eval(sprintf('A%d = A(:,:,%d)',i,i)); 
end 

這樣,你反正我建議不要使用這種方法得到10點的矩陣,其名稱爲A1,A2,...,艾...

。與單元陣列相比,它更具可讀性。