Variable not found in parfor loop
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
Walter Roberson
2017-1-20
Which MATLAB version?
My spidy-senses are suggesting you might be using R2015b or R2016a but not R2016b ?
采纳的回答
Walter Roberson
2017-1-20
You do not initialize the variable in the zfun loop.
5 个评论
Walter Roberson
2017-1-21
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!