在 Matlab 编程中,for 循环是遍历数组时常用的语句。当数组很大时,for 循环的执行时间可能相当长,我们通常希望知道已经执行了多少比例。为此,我写了下面这段代码来实现这个功能。
输出示例

代码片段
N = 10000;
percents = '';
for i=1:N
if (mod(i-[1,0],(N*0.01))*[1;-1]) > 0
fprintf(repmat('\b', 1, numel(percents)));
percents = sprintf('Percentage: %.0f%%',i/N*100);
fprintf('%s',percents);
end
% other user codes ...
pause(0.001)
% other user codes ...
end
fprintf('\n');说明
上面的代码提供了基本的实现思路,你可能需要对它进行调整,才能用到自己的项目里。
下面的代码用于判断是否跨过了数组长度的百分之一区间:计数值 i 每超过一个百分之一区间,if 条件就满足一次。
if (mod(i-[1,0],(N*0.01))*[1;-1]) > 0然后,用 '\b' 字符清除上一次 fprintf 的输出,使百分比信息保持在同一个显示位置。
0 条评论