Borrar filtros
Borrar filtros

for loop inside parfor loop

1 visualización (últimos 30 días)
Karthik
Karthik el 13 de En. de 2015
Editada: Matt J el 13 de En. de 2015
Hello, i am getting the following error for this loop.
Error using In (line 78) Error: The variable f in a parfor cannot be classified. See Parallel for Loops in MATLAB, "Overview".
parfor j = 1:size(lam,2);
c(:,j) = fminunc(@(c) (chi1(c, K0_com)), cint, options);
for i = 1:Steps*Steps
f(i,j) = K0_com(:,i)'*c(:,j);
f(i,j) = (f(i,j)>0)*f(i,j);
end
end
How can I fix this? I did not see any warning or error when I wrote this.

Respuesta aceptada

Matt J
Matt J el 13 de En. de 2015
Editada: Matt J el 13 de En. de 2015
I would take the processing of f out of the loop altogether. Just post-compute it using vectorized methods:
parfor j = 1:size(lam,2);
c(:,j) = fminunc(@(c) (chi1(c, K0_com)), cint, options);
end
f=K0_com.'*c;
f=f.*(f>0);

Más respuestas (0)

Categorías

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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by