眼睛矩阵应用

时间:2012-05-22 03:09:05

标签: matlab matrix identity octave

以下几行:

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]

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

1 个答案:

答案 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,:)