How can I modify this code to use parfor s=1:r?

1 visualización (últimos 30 días)
MRC
MRC el 1 de Nov. de 2013
Respondida: Edric Ellis el 4 de Nov. de 2013
Hi, I have reported here a very simple piece of code but it basically faces the same issues of my actual estimation code. Could you help me in modifying it to use parfor s=1:r? Thanks a lot!
r=20;
n=2;
m=3;
D=unidrnd(20,8,2);
upp=zeros(size(D,1),r,n);
for j=1:n
A=unidrnd(10,m,n);
parfor s=1:r
B=unidrnd(10,m,n);
C=A+B;
for i=1:size(C,1)
for w=1:size(D,1)
if all(C(i,:)==D(w,:))
upp(w,s,j)=1;
end
end
end
end
end

Respuesta aceptada

Edric Ellis
Edric Ellis el 4 de Nov. de 2013
You could try something like this
r=20;
n=2;
m=3;
D=unidrnd(20,8,2);
upp=zeros(size(D,1),r,n);
for j=1:n
A=unidrnd(10,m,n);
parfor s=1:r
B=unidrnd(10,m,n);
C=A+B;
% Make a temporary vector to build up in the FOR loops below
tmp = zeros(1, size(D,1));
for i=1:size(C,1)
for w=1:size(D,1)
if all(C(i,:)==D(w,:))
% Assign an element of 'tmp'
tmp(w) = 1;
end
end
end
% Assign all of 'tmp' into 'upp'.
upp(:, s, j) = tmp;
end
end

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by