dzh*_*lil 5 matlab vector matrix
我想在预定义的位置获得Matlab矩阵元素的向量.例如,我有以下内容
>> i = [1,2,3];
>> j = [1,3,4];
>> A = [1,2,3,4; 5,6,7,8; 9,10,11,12; 13,14,15,16]
A =
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
Run Code Online (Sandbox Code Playgroud)
我想要一个矢量,它会给我在Acorrespongin的位置的值i,j.我试过了
A(i,j)
ans =
1 3 4
5 7 8
9 11 12
Run Code Online (Sandbox Code Playgroud)
但这不是我想要的.我想得到以下内容
>> [A(i(1),j(1)); A(i(2),j(2));A(i(3),j(3))]
ans =
1
7
12
Run Code Online (Sandbox Code Playgroud)
什么是matlab语法?请避免建议循环或任何不是矢量化形式的东西,因为我需要快速完成.希望会有一些内置功能.
要以最快的方式获取它,请使用线性索引:
A((j-1)*size(A,1)+i)
Run Code Online (Sandbox Code Playgroud)
请记住,MATLAB 使用列优先顺序。