假设我有A = 1(10,1)*10那么这是什么眼睛(10)(A,:) ??
我知道eye给出了10,10个单位矩阵,但我不确定上面的代码是做什么的.什么是Matlab中的等效代码?
A=ones(10,1)*10 只需制作10s的列矩阵(10行,1列).
eye(10) 制作10x10单位矩阵.
(A,:)您刚刚制作的单位矩阵的索引.在A这里作为一个数字索引到eye(10)矩阵.假设A只有10.然后myMatrix(A,:)选择第10行myMatrix.由于A是10 行 10,所以myMatrix(A,:)选择第10行myMatrix,10次.所以你退出第10排eye(10)10次.
如果您这样做A=ones(5,1)*10并且看一看,可能会减少混淆eye(10)(A,:); 请注意,您现在只获得第A5 行的5次.
你不能在Matlab中这样做,因为它不会让你做一击eye(10)(A,:).你必须分两步完成:
A = ones(10,1)*10
I = eye(10)
I(A,:)
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           3325 次  |  
        
|   最近记录:  |