0

以下几行:

a=[1;2;10;9]
eye(10)(a,:)

返回:

[1   0   0   0   0   0   0   0   0   0
 0   1   0   0   0   0   0   0   0   0
 0   0   0   0   0   0   0   0   0   1
 0   0   0   0   0   0   0   0   1   0]

它是如何工作的?为什么它得到了价值?

4

1 回答 1

5

它从 10x10 单位矩阵中选择第 1、2、10 和 9 行以及所有列。

如果没有像下面这样的中间步骤,这会给我一个语法错误。您是否跳过了该步骤或在 Matlab 版本之间进行了此更改的语法?

a=[1;2;10;9];
eye(10)(a,:)

产量??? Error: ()-indexing must appear last in an index expression.

这确实给出了您发布的矩阵:

e = eye(10); 
e(a,:)
于 2012-05-22T03:13:24.747 回答