假设我有A = 1(10,1)* 10 那会是什么眼睛(10)(A,:) ??
我知道eye给出了10,10个单位矩阵,但我不确定上面的代码是做什么的。 什么是Matlab中的等效代码?
答案 0 :(得分:5)
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}行,{em> 10次。所以你退出第10行myMatrix
10次。
如果您执行eye(10)
并查看A=ones(5,1)*10
,则可能不那么令人困惑;请注意,您现在只获得eye(10)(A,:)
的第10行。
你不能在Matlab中这样做,因为它不允许你做一击A
。你必须分两步完成:
eye(10)(A,:)