2011-02-08 32 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 

也许不是最好的方式,但它会创建变量为您服务。