4

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

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


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

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

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

>> date
04-Sep-2012
>> 

...或者至少像这样?:

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

4 回答 4

4

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

例如,

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

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

function display(x)
disp(x)
end

那么你会有

>> % After overwriting the @char/display
>> date
04-Sep-2012
于 2012-09-04T20:55:54.210 回答
3

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

于 2012-09-04T16:53:03.703 回答
1

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

于 2014-04-27T10:40:45.160 回答
0

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

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

sprintf因此,如果您正在构建工具( 、、、各种工具来破解底层 java 显示) ,虽然您有无穷无尽的选择fprintf,但我不知道有什么方法可以在快速、交互式工作期间将“更紧凑”的显示样式设置为默认值。disp

于 2012-09-04T18:38:05.007 回答