有可能在MATLAB中抑制'ans'吗?

时间:2014-12-02 01:49:56

标签: matlab

我有一个功能,但最后我不想要ans = ...。有可能抑制它吗?

例如:

function c = Example (b)
c = b + 2;
end

在命令窗口中:

>>Example (8)
>>ans = 10

2 个答案:

答案 0 :(得分:3)

在调用函数的行末尾加一个分号。以下是涵盖此内容的文档。

来自symbol reference

  

输出抑制

     

当放置在命令的末尾时,分号告诉MATLAB不显示该命令的任何输出。在此示例中,MATLAB不显示生成的100×100矩阵:

A = ones(100, 100);

这与显示有关。 AFAIK,无法阻止MATLAB仍然分配给ans(即rand;仍将结果分配给ans)。

答案 1 :(得分:2)

继@ chappjc的答案之后, 可能会抑制ans的创建 - 但它可能并非完全可取。诀窍是仅在nargout非零时才分配输出。例如:

function varargout = Example(b)
     c = b + 2;
     if nargout > 0
         varargout = {c};
     end
end