progressDemo

Version 1.0.0 (1,41 ko) par Shlomo Geva
A demo of a very simple progress monitor for parfor
7 téléchargements
Mise à jour 14 fév. 2021

Afficher la licence

The following function demonstrates a very simple progress monitor for parfor.
All you need is to follow the example.

function progressDemo(~)
% Function demonstrating a simple progress monitor for parfor.

if isempty(gcp('nocreate'))
parpool('local',8); % start 8 threads (if not already running)
end

D = parallel.pool.DataQueue;
afterEach(D, @UpdateProgress);
updateFreq=100; % loop update frequency
p=1; % loop counter; note: need p defined outside of parfor scope

fprintf('\nProgress: 0%%');
N=12345; % number of iterations, done in parallel
parfor n=1:N
% DO SOMETHING
send(D,n); % update progress
end
fprintf('\b\b\b\b\b\b%5.2f%%',100);
fprintf('\nDone!!\n')

function UpdateProgress(~) % note: nested function
% using \b because \r and Matlab do not get along on all platforms...
p = p + 1;
if ~rem(p,updateFreq) % only show progress every updateFreq iterations
fprintf('\b\b\b\b\b\b%5.2f%%',p/N*100);
end
end
end

Citation pour cette source

Shlomo Geva (2026). progressDemo (https://fr.mathworks.com/matlabcentral/fileexchange/87367-progressdemo), MATLAB Central File Exchange. Extrait(e) le .

Compatibilité avec les versions de MATLAB
Créé avec R2020b
Compatible avec les versions R2017a et ultérieures
Plateformes compatibles
Windows macOS Linux
Version Publié le Notes de version
1.0.0