Matlab打印运行进度

  在运行matlab程序的过程中,有时候需要实时地掌握程序运行的进度,尤其对于一些耗时较长的循环操作,能够及时地输出运行进度,显得非常有必要。

  打印进度条的实现方式就是不断地退格、输出。
  退格字符是'\b',每输出一个退格符,屏幕上的内容便回退一格,而实际的进度条展示往往是多个字符,可利用repmat函数对退格符进行重叠输出。
  在每次的循环中,总是先退格、再输出,退格的数目就是前次输出的字符数。对于fprintf函数,其返回值便是输出的字符数。

fprintf('\n 打印进度条示例: \n');

N = 123; %循环次数
backNum = 0; %退格数
for i=1:N
    percent = round((i/N)*100); %计算百分比值
    
    fprintf(repmat('\b',1,backNum)); %输出退格          
    backNum = fprintf('%d %%',percent); %输出进度条
    
    pause(0.1); %暂停0.1秒
end

fprintf('\n\n 完成.\n');

posted @ 2022-07-15 22:10  归去_来兮  阅读(305)  评论(0编辑  收藏  举报