在没有换行符的情况下显示MATLAB中的信息

时间:2009-06-18 13:23:44

标签: matlab formatting printf disp

有没有办法在没有结束换行符的情况下从MATLAB程序输出/显示信息?

我的MATLAB程序偶尔输出一个数字。在输出数字之间,程序会执行许多其他操作。这是一个主要用于表示某种进展的构造,每次都不能有换行,只是为了让用户更具可读性。这大约是我正在寻找的:

Current random seed:
4 7 1 1 

如果程序的下一个输出仍然和以前一样,那么该程序的下一个输出将位于同一行。

我已经阅读了有关disp,sprintf和格式的文档,但还没有找到我正在寻找的内容。这并不意味着它不存在。 ;)

1 个答案:

答案 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自己的显示逻辑将添加一个换行符。