matlab中在多次迭代中,如果需要友好的提示当前的运行进度,直接打印在窗口将会非常不友好,对于迭代次数较多,则完全将重要输出覆盖
为此,查看了一些源码,看到了一种用法,在一行上去显示,保持动态的修改这一行文字,这样看其实相对的友好很多!
网上搜索了下,这个方案非常好用
以下是代码:
% 记录当前显示的字节数 fprintf返回
count=0;
for i=1:100000
% '\b'表示回退一个字节 回退count字节 刚好删除刚才显示的一行
fprintf(1, repmat('\b',1,count));
%delete line before
count=fprintf(1,'current line is : %d',i);
end
% 最后要换行,不然光标在刚才一行的行末,影响后面的输出操作
fprintf(1,'\n');
这样每次都在一行上更改,显示只有数值部分在变化的效果。
其原文来自:mathworks