In diesem minimalen ausführbaren Stück Code:MATLAB parfor Broadcast Variable hat einen falschen Wert
a = [];
workers = parpool('local',4);
someboolean = false;
parfor i = 1:4
if someboolean % broadcast variable
b = a(i); % ERROR
else
b = 0;
end
end
... der Wert von someboolean ist 'true' und die ungültige Zeile ausgeführt wird in dem folgenden Fehler führt:
Die Zeilennummer bezieht sich auf die letzte nichtparallele Zeile und wenn die b = a(i)
Zuweisung entfernt wird, verschwindet der Fehler.
Ich war nicht in der Lage, andere im Internet zu finden, die unter dem gleichen Problem leiden. Kann mir jemand erklären, was vor sich geht? Ich verwende MATLAB R2015a.