unable to classify the variable 'F' in the body of the parfor-loop
Mostra commenti meno recenti
I was trying to reduce the time taken by parfor and I have tried to calculate F (scatteredInterpolant() ) before the parfor loop
F = scatteredInterpolant(x,y,z,data2(1:len),'linear','linear');
Then, I tried to use interpolant object F inside the parfor loop
parfor i=1:size(data,2)
F.Values=data2(1:len)
end
but the following error was generated
unable to classify the variable 'F' in the body of the parfor-loop. For more information ,see parallel for loops in MATLAB "SOLVE VARIABLE Classification issues in parfor-loops
Risposta accettata
Più risposte (1)
2 Commenti
Edric Ellis
il 14 Apr 2022
In the attached code, you still have lines inside the parfor loop that assign to F.Values - lines 95; 100; 105; 109; 114. Even if these lines don't execute at runtime, the parfor analysis must be satisfied that nothing order-dependent could ever happen using static analysis and ignoring the value of opt. It might help to assign Ftmp = F at the start of the loop, and then use that everywhere inside the loop.
zein
il 14 Apr 2022
Categorie
Scopri di più su Solver Outputs and Iterative Display in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!