hist within a parfor creates transparency violation error?

This code creates a transparency violation error. Is this by design??
s = cell(2,1);
s{1} = randn(100);
s{2} = randn(100);
parfor i=1:2
figure(i);
y = s{i};
hist(y);
end

 채택된 답변

Edric Ellis
Edric Ellis 2018년 3월 2일
편집: Edric Ellis 2018년 3월 2일
hist internally uses inputname to support additional functionality in the resulting plot. Unfortunately, using inputname in a function called from parfor results in the transparency violation error you're seeing. You can work around this by ensuring that the input to hist doesn't have a name (i.e. it's a temporary):
parfor i=1:2
figure(i);
y = s{i};
hist(1 .* y);
% hist(s{i}) also works
end

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Parallel for-Loops (parfor)에 대해 자세히 알아보기

제품

질문:

2018년 3월 1일

편집:

2018년 3월 2일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by