-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。
我有这样一个矩阵:如何让我的矩阵数组变成这样?
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。
你的问题不清楚给我。
要创建矩阵,请使用','(或无)对列进行分隔,';'划分行。
A = [1 2 3 ; 4 5 6 ; 7 8 9];
要访问矩阵,您可以使用1维索引以及2维索引。 例如A21和A(0*3+2)
。
如果你确实需要的变量,如“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
也许不是最好的方式,但它会创建变量为您服务。
确实需要创建所有这些变量吗?如果您想将A21与A22相乘,您可以只写A(2,1)* A(2,2)。还是有另一个原因,你需要这样做?编辑:看着ypnos的答案我明白你的问题,对不起。 – Ghaul 2011-02-08 09:36:27