У меня есть матрица m x m
M
, из которой я выбираю разные части для создания подмассивов k
в матрицу n x n x k
N
. Мне интересно: можно ли это сделать эффективно без цикла for?
Вот простой пример:
M = [1:10]'*[1:10]; %//' Large Matrix
indxs = [1 2;2 1;2 2];
N = zeros(4,4,3); %// Matrix to contain subarrays
for i=1:3,
N(:,:,i) = M(3-indxs(i,1):6-indxs(i,1),3-indxs(i,2):6-indxs(i,2));
end
В моем реальном коде матрицы M
и N
довольно велики, и эта операция повторяется тысячи раз, так что эта неэффективность существенно сказывается на времени выполнения.