如何从 MATLAB 输出中抑制"ans"行?

  • 本文关键字:ans MATLAB 输出 matlab
  • 更新时间 :
  • 英文 :


编辑:上面的问题严格关注对MATLAB的输出默认情况下在交互式会话中生成,如所示给出的例子。我对修改由脚本、函数、方法等产生的输出的外观

此外,这样做的动机是为了让我的笔记本电脑保持更多的极其稀缺的"屏幕房地产",以获得实际的信息输出


即使使用format compact,MATLAB的输出也包括一个ans =行,以及显示输出正确的行。例如

>> format compact
>> date
ans =
04-Sep-2012
>> 

有没有什么方法可以抑制ans =线,例如,上面的最后一个交互看起来是这样的?:

>> date
04-Sep-2012
>> 

或者至少是这样?:

>> date
ans = 04-Sep-2012
>> 

这有点棘手,可能会产生其他后果,但如果您主要显示特定类型的数据(double、char等),则可以覆盖相应的内置显示方法。

例如,

>> % Before overwriting the @char/display
>> date
ans =
04-Sep-2012

现在在MATLAB路径上的一个位置创建一个@char目录,并添加一个名为display.m:的方法

function display(x)
disp(x)
end

然后你会有

>> % After overwriting the @char/display
>> date
04-Sep-2012

ans只是MATLAB存储其"最后"答案的变量的名称。"避免它"的最简单方法是将结果分配给其他变量,然后用fprintfsprintf以清晰的方式打印出来。

disp(sprintf('<Your format>',<variables>)完成了这项工作。

如果您正在为您的工作创建一个新类,那么您将有一些选项。命令窗口上的"漂亮"显示是由所有类都继承的display方法创建的。通常,display打印变量的名称"=\n",然后调用disp方法,您可能熟悉该方法。(详见help display)。

然而,对于标准的Matlab数组,这些方法都是内置的,我不相信它们可以修改。

因此,尽管如果你正在构建工具(sprintffprintfdisp,各种入侵底层java显示的工具),你有无数的选择,但我不知道有什么方法可以在快速、交互式的工作中设置"更紧凑"的显示样式作为默认样式。

最新更新