编辑:上面的问题严格关注对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存储其"最后"答案的变量的名称。"避免它"的最简单方法是将结果分配给其他变量,然后用fprintf
或sprintf
以清晰的方式打印出来。
disp(sprintf('<Your format>',<variables>)
完成了这项工作。
如果您正在为您的工作创建一个新类,那么您将有一些选项。命令窗口上的"漂亮"显示是由所有类都继承的display
方法创建的。通常,display
打印变量的名称"=\n",然后调用disp
方法,您可能熟悉该方法。(详见help display
)。
然而,对于标准的Matlab数组,这些方法都是内置的,我不相信它们可以修改。
因此,尽管如果你正在构建工具(sprintf
、fprintf
、disp
,各种入侵底层java显示的工具),你有无数的选择,但我不知道有什么方法可以在快速、交互式的工作中设置"更紧凑"的显示样式作为默认样式。