2011-02-08 48 views
-1

我有這樣一個矩陣:如何讓我的矩陣數組變成這樣?

A = 1 2 3 

     4 5 6 

     7 8 9 

我的問題是我怎麼想我的矩陣是這樣的:

A11 = 1 

A12 = 2 

A13 = 3 

A21 = 4 

A22 = 5 

A23 = 6 

A31 = 7 

A32 = 8 

A33 = 9 

,因爲我要乘A21與A22是4×5 = 20。

+0

確實需要創建所有這些變量嗎?如果您想將A21與A22相乘,您可以只寫A(2,1)* A(2,2)。還是有另一個原因,你需要這樣做?編輯:看着ypnos的答案我明白你的問題,對不起。 – Ghaul 2011-02-08 09:36:27

回答

2

你的問題不清楚給我。

要創建矩陣,請使用','(或無)對列進行分隔,';'劃分行。

A = [1 2 3 ; 4 5 6 ; 7 8 9]; 

要訪問矩陣,您可以使用1維索引以及2維索引。 例如A21和A(0*3+2)

1

如果你確實需要的變量,如「A11」,「A12」等,你可以做如下:

A = [1 2 3; 4 5 6; 7 8 9]; 

for i = 1:size(A,1) 
    for j = 1:size(A,2)    
     eval(sprintf('A%d%d = %f;',i,j,A(i,j)));    
    end 
end 


A21 * A22 
# will result in 20 

也許不是最好的方式,但它會創建變量爲您服務。