眼睛矩阵应用

0 matlab identity matrix octave

以下行:

a=[1;2;10;9]
eye(10)(a,:)
Run Code Online (Sandbox Code Playgroud)

返回:

[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]
Run Code Online (Sandbox Code Playgroud)

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

Jun*_*uxx 5

它选择行1,2,10和9以及10x10单位矩阵中的所有列.

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

a=[1;2;10;9];
eye(10)(a,:)
Run Code Online (Sandbox Code Playgroud)

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

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

e = eye(10); 
e(a,:)
Run Code Online (Sandbox Code Playgroud)

  • octave online让你在没有中间步骤的情况下完成它...虽然没有matlab来测试它. (2认同)