2 つの for ループを並列化し、リモート クラスターで実行しようとしています。
最初に matlabpool open local 12 を使用し、最後に matlabpool close を使用しています。私が直面している問題は、parfor ループが行列を適切に使用できず、それが機能するように書き直す方法がわからないことです。
H = hadamard(n);
H = [H;-H];
P = setdiff(P,H,'rows');
[r,c] = size(P);
A = zeros(n,r);
parfor i=1:r
for j=1:n
d = P(i,:) + H(j,:);
A(j,i) = sum(d(:) ~= 0);
end
end
と:
u2Had = cell(2,r);
parfor i =1:r
u2Had{1,i} = min(A(:,i));
MinHadIndex = find(A(:,i) == u2Had{1,i});
u2Had{2,i} = MinHadIndex;
end
これらは、私が並列化しようとしているコードの 2 つのセグメントです。何か助けをいただければ幸いです。さらに情報を追加する必要がある場合は、お問い合わせください。