How can I change this code to be able to use parfor?

4 Ansichten (letzte 30 Tage)
MRC
MRC am 31 Okt. 2013
Kommentiert: Matt J am 1 Nov. 2013
A=randn(5,1);
parfor i=1:4
B=randn(3,1);
for t=1:size(B,1)
for w=1:size(A,1)
if B(t)==A(w)
A(w)=A(w)+1;
end
end
end
end

Antworten (1)

Matt J
Matt J am 31 Okt. 2013
Bearbeitet: Matt J am 31 Okt. 2013
A=randn(5,1);
C=cell(1,4);
parfor i=1:4
B=randn(1,3);
C{i}=sum(bsxfun(@eq,A,B),2);
end
A=A+sum([C{:}],2);
  1 Kommentar
Matt J
Matt J am 1 Nov. 2013
Better:
A=randn(5,1);
C=0;
parfor i=1:4
B=randn(1,3);
C=C+sum(bsxfun(@eq,A,B),2);
end
A=A+C;

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by