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

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

 Réponse acceptée

Jing
Jing le 28 Mar 2013
Modifié(e) : Jing le 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 commentaires

Thanks a lot, I'm surprised there is such a simple solution!
Exactly! Thanks again.
Mathias
Mathias le 7 Fév 2019
Modifié(e) : Mathias le 7 Fév 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.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by