我有一个大小为
下面是一个简单的示例:
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
非常大,并且此操作循环数千次,因此这种低效会对运行时间产生显著影响。