-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