我有一个大单元格,每个元素都带有一个大矩阵(M)的索引集合。我对这些索引指定的 M 的元素进行了一些操作,例如
N=1000;
P=100;
M=rand(N, N);
K=zeros(N, P);
for n=1:N
IND{n} = [randi(N, 1, randi(200))];
end
tic
for m=1:P
for n=1:N
K(n, m) = sum(sum(M(IND{n})));
end
end
toc
tic
for m=1:P
Z = cellfun(@(idx) sum(M(idx)), IND, 'UniformOutput', false);
K(:, m) = [Z{:}];
end
toc
最后一个循环如果很慢。那有什么方法可以使用一条语句而不是循环来做同样的事情吗?谢谢。