18

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

我的 MATLAB 程序时不时地输出一个数字。在输出数字之间,程序做了很多其他的事情。这是一个主要用于指示某种进度的结构,最好不要每次都换行,只是为了让用户更容易阅读。这大约是我正在寻找的:

Current random seed:
4 7 1 1 

如果程序仍在做与以前相同的事情,则程序的下一个输出将位于同一行。

我已经阅读了有关 disp、sprintf 和 format 的文档,但没有找到我要查找的内容。这并不意味着它不存在。;)

4

1 回答 1

26

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

于 2009-06-18T13:34:44.940 回答