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

Ann*_*naR 17 formatting matlab printf disp

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

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

Current random seed:
4 7 1 1 
Run Code Online (Sandbox Code Playgroud)

如果程序仍然像以前一样做,那么程序的下一个输出将在同一行上.

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

And*_*nke 25

除非明确说明,否则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
Run Code Online (Sandbox Code Playgroud)

使用sprintf不会很有效:它创建一个没有换行符的字符串,但是如果你使用disp()或省略分号,disp自己的显示逻辑将添加一个换行符.

  • 注意:根据您的平台,您可能需要调用"drawow"; 在fprintf之后. (2认同)