MATLAB Answers

Is there a way to plot to a file while in a parfor loop?

63 views (last 30 days)
Mark
Mark on 27 Mar 2013
Edited: Mathias on 7 Feb 2019
Hello,
I have a MATLAB program I'm running in parallel. I understand that I can't use a worker process to plot to the screen. But, I'm curious, is it possible to use a worker process to plot directly to a file?
Thanks,
Mark

Accepted Answer

Jing
Jing on 28 Mar 2013
Edited: Jing on 28 Mar 2013
You can plot in parfor, it's just you won't see it, but the handle is still there. Then you can use saveas to save it to a file.
parfor i=1:5
figure(i)
plot(rand(i*10,1));
saveas(gcf,['temp' num2str(i) '.jpg']);
end
  3 Comments
Mathias
Mathias on 7 Feb 2019
I tried the code, but got the following error:
% Error using validate (line 162)
% Printing of uicontrols is not supported on this platform.
%
% Error in print (line 67)
% pj = validate( pj );
%
% Error in saveas (line 181)
% print( h, name, ['-d' dev{i}] )
%
% Error in Untitled (line 1)
% parfor i=1:5
Using Matlab 2017b. Any solution for this?
Thanks in Advance
Edit: Found another examle of this with figure() instead of figure(var). Thats the solution.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!