大きな行列(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
かなり遅い場合は最後のループ。ループの代わりに 1 つのステートメントを使用して同じことを行う方法はありますか? ありがとう。