1
ここでは簡略化した例であるMATLABのインデックスに問題NDアレイ
x = reshape(1:2*4*3,2,4,3); % 3d array
i1 = [1 1 2]; % index in dim 1
i2 = [2 1 3]; % index in dim 2
I、すなわちx(1,2,:); x(1,1,:); x(2,3,:)
、x(i1(ii),i2(ii),:)
を抽出する[3,3]。
しかし、x(i1,i2,:)
はサイズ[3,3,3]の3dアレイを与える。
だから、私は、これは空想方法であってはならないと考えてい
3 11 19 1 9 17 6 14 22
を与える愚かなループ
y = nan(length(i1),3);
for ii = 1 : 3
y(ii,:) = squeeze(x(i1(ii),i2(ii),:));
end
を使用。