У меня есть трехмерный массив, который выглядит так:
edges = round(rand(20,20,20)));
Затем я создаю случайный список индексов следующим образом:
indices = floor(rand(10000,3)*(19))+1;
Итак, если я попытаюсь использовать первый строка 2D-массива индексов для доступа к элементу в массиве edges
, я делаю:
>>> edges(indices(1,1),indices(1,2),indices(1,3))
>>> ans = 1
Я подумал, если я хочу получить значение edges
во всех позициях индекса, Я мог бы сделать
>>> edges(indices)
, но это вернет матрицу 10000
на 3
. Я бы ожидал матрицу 10000
на 1
со значениями edges
в позициях, указанных каждой строкой indices
. Что здесь происходит, и есть ли способ получить нужные мне значения без использования каких-либо for
циклов?