В matlab у меня обычно есть матрица данных размером NxMxLxK, которую я хочу индексировать по определенному измерению (например, четвертое), используя матрицу индексов размера NxMxL со значениями 1..K (предположим, что все находятся в этом диапазоне):
>>> size(Data)
ans =
7 22 128 40
>>> size(Ind)
ans =
7 22 128
Я хотел бы иметь код без циклов, который обеспечивает следующий эффект:
Result(i,j,k) = Data(i,j,k,Ind(i,j,k))
для всех значений i, j, k в диапазоне.