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

时间:2012-09-04 16:40:29

标签: matlab

  

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

此外,这样做的动机是为实际提供信息的输出保留笔记本电脑的极其稀缺的“屏幕空间”。


即使使用format compact,除了显示输出正确的行之外,MATLAB的输出还包括ans =行。 E.g。

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

有没有办法抑制ans =行,例如,上面的最后一次互动看起来像这样?:

>> date
04-Sep-2012
>> 

...或至少像这样?:

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

4 个答案:

答案 0 :(得分:4)

这有点棘手,可能会产生其他后果,但如果你主要显示某种类型的数据(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

答案 1 :(得分:3)

ans仅仅是MATLAB存储其“最后”答案的变量的名称。 “避免它”的最简单方法是将结果分配给其他变量并以fprintfsprintf以明确的方式将其打印出来。

答案 2 :(得分:1)

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

答案 3 :(得分:0)

如果您要为自己的工作创建新课程,那么您可以选择一些。命令窗口中的“漂亮”显示由所有类继承的display方法创建/通常,display打印变量的名称,“= \ n”,然后调用{{ 1}}方法,你可能很熟悉。 (disp了解详情)。

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

所以,如果你正在构建工具(help displaysprintffprintfvarious tools hacking the underlying java display),你有无穷无尽的选择,我不知道有任何设置方法在快速,互动的工作中,“更紧凑”的显示风格是默认的。