Variable not found in parfor loop
    1 visualización (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    JohnDylon
 el 20 de En. de 2017
  
    
    
    
    
    Comentada: JohnDylon
 el 22 de En. de 2017
            If I run the script:
z=1:1000;
parfor i=1:numel(z)
    zfun(z(i))
end
which calls the function:
function zfun(z)
for j=1:50
    for k=1:100
        myz=z*10+myz*k;
    end
end
save(fullfile('filepath', num2str(myz)), 'myz');
end
I get an error of Undefined function or variable 'myz' for the save command.
Any ideas how to fix this?
2 comentarios
  Walter Roberson
      
      
 el 20 de En. de 2017
				Which MATLAB version?
My spidy-senses are suggesting you might be using R2015b or R2016a but not R2016b ?
Respuesta aceptada
  Walter Roberson
      
      
 el 20 de En. de 2017
        You do not initialize the variable in the zfun loop.
5 comentarios
  Walter Roberson
      
      
 el 21 de En. de 2017
				Yes, that would have less overhead. However, due to finite precision of floating point numbers, the result of the above is going to be -inf below about -1/17 and +inf above it. The zero is at about -0.058197670686932642438500200510901 . If you were trying to find the zero, it would be much more effective to use the symbolic toolbox.
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

