有没有办法在没有结束换行符的情况下从MATLAB程序输出/显示信息?
我的MATLAB程序偶尔输出一个数字。在输出数字之间,程序会执行许多其他操作。这是一个主要用于表示某种进展的构造,每次都不能有换行,只是为了让用户更具可读性。这大约是我正在寻找的:
Current random seed:
4 7 1 1
如果程序的下一个输出仍然和以前一样,那么该程序的下一个输出将位于同一行。
我已经阅读了有关disp,sprintf和格式的文档,但还没有找到我正在寻找的内容。这并不意味着它不存在。 ;)
答案 0 :(得分:24)
除非明确说明,否则fprintf函数不会添加换行符。省略fid参数,让它打印到命令窗口。
fprintf('Doing stuff... ');
for i = 1:5
fprintf('%d ', i);
% do some work on that pass...
end
fprintf(' done.\n'); % That \n explicitly adds the linefeed
使用sprintf不会很有效:它创建一个没有换行符的字符串,但是如果你使用disp()或省略分号,disp自己的显示逻辑将添加一个换行符。