以下几行:
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]
它是如何工作的?为什么会得到价值?
答案 0 :(得分:5)
它选择行1,2,10和9以及10x10单位矩阵中的所有列。
如果没有像下面这样的中间步骤,这会给我一个语法错误。您是否跳过了该步骤或在Matlab版本之间进行了此更改的语法?
a=[1;2;10;9];
eye(10)(a,:)
收益率??? Error: ()-indexing must appear last in an index expression.
这确实给出了您发布的矩阵:
e = eye(10);
e(a,:)