Variable not found in parfor loop
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
JohnDylon
am 20 Jan. 2017
Kommentiert: JohnDylon
am 22 Jan. 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 Kommentare
Walter Roberson
am 20 Jan. 2017
Which MATLAB version?
My spidy-senses are suggesting you might be using R2015b or R2016a but not R2016b ?
Akzeptierte Antwort
Walter Roberson
am 20 Jan. 2017
You do not initialize the variable in the zfun loop.
5 Kommentare
Walter Roberson
am 21 Jan. 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.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements 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!