Jas*_*son 7 arrays indexing matlab octave
我有一个2D数组,称之为'A'.我还有另外两个2D数组,称之为'ix'和'iy'.我想创建一个输出数组,其元素是x_idx和y_idx提供的索引对的A元素.我可以通过循环执行此操作,如下所示:
for i=1:nx
for j=1:ny
output(i,j) = A(ix(i,j),iy(i,j));
end
end
Run Code Online (Sandbox Code Playgroud)
如果没有循环,我怎么能这样做?如果我输出= A(ix,iy),我在(ix)X(iy)的整个范围内得到A的值.
谢谢你,杰森
mer*_*erv 11
更快的方法是直接使用线性索引而不调用SUB2IND:
output = A( size(A,1)*(iy-1) + ix )
Run Code Online (Sandbox Code Playgroud)
...将矩阵A视为一维数组(按列顺序)