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)
它是如何工作的?为什么它得到了价值?
它选择行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)