2012-02-07 79 views

回答

4

A=ones(10,1)*10只是產生10s的列矩陣(10行,1列)。

eye(10)構成10x10單位矩陣。

(A,:)索引到您剛剛創建的標識矩陣中。這裏的A充當數字索引到eye(10)矩陣。假設A只是10.然後myMatrix(A,:)將選擇myMatrix的第10行。由於A是10 的10,myMatrix(A,:)選擇第10行myMatrix10次。所以你10次回到eye(10)的第10行。

如果你做A=ones(5,1)*10並看看eye(10)(A,:);請注意,您現在只能獲得5次A的第10行。

你不能在Matlab中這樣做,因爲它不會讓你做一擊eye(10)(A,:)。您必須分兩步完成:

A = ones(10,1)*10 
I = eye(10) 
I(A,:) 

More on various types of matrix indexing in Matlab