我曾经通过首先生成一行点和添加" |"来跟踪parfor循环中的进度。每隔一段时间到一个新线(来源:Matlab: Print progress from parfor loop)。有没有办法在没有额外的弹出进度条的情况下在parfor循环中获得一定比例的进度(如在源中一样)?
fprintf(['\n ' repmat('.',1,100) '\n']);
parfor jj = 1:n
if mod(jj,n/100)==0
fprintf('\b|\n');
end
output= somefunction(input);
end
答案 0 :(得分:0)
不,使用parfor
时无法访问主要的Matlab流程。解决此问题的唯一方法是使用另一个报告进度的进程。
FWIW,PARFOR Progress Monitor是我在这个问题上找到的最佳解决方案,尽管它确实打开了一个新窗口。