poster
2019-12-10, 16:49
有没有从没有结束换行符的MATLAB程序输出/显示信息的方法?
我的MATLAB程序有时会输出一个数字。在输出数字之间,程序还会执行许多其他操作。这是一个主要用于指示某种进度的结构,并且最好不要每次都具有换行符,只是使它对用户更具可读性。这大概是我要寻找的:
Current random seed: 4 7 1 1 如果程序仍在执行与以前相同的操作,则该程序的下一个输出将在同一行上。
我已经阅读了有关disp,sprintf和format的文档,但没有找到我想要的东西。这并不意味着它不存在。 ;)
回答:
除非您明确告诉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自己的显示逻辑将添加换行符。
更多&回答... (https://stackoverflow.com/questions/1012597)
我的MATLAB程序有时会输出一个数字。在输出数字之间,程序还会执行许多其他操作。这是一个主要用于指示某种进度的结构,并且最好不要每次都具有换行符,只是使它对用户更具可读性。这大概是我要寻找的:
Current random seed: 4 7 1 1 如果程序仍在执行与以前相同的操作,则该程序的下一个输出将在同一行上。
我已经阅读了有关disp,sprintf和format的文档,但没有找到我想要的东西。这并不意味着它不存在。 ;)
回答:
除非您明确告诉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自己的显示逻辑将添加换行符。
更多&回答... (https://stackoverflow.com/questions/1012597)