什么是函数之外的nargin?

时间:2012-11-27 13:34:21

标签: matlab command-line arguments octave interactive-mode

我只是编写了一个Matlab函数,并希望将我所拥有的内容复制并粘贴到交互式会话中。其中一些是nargin语句(例如if nargin < 1; a = 0; end;),结果是nargin在我的工作区中的值为11005,而我没有分配它。有谁知道这是什么,是否用于任何事情(功能之外)以及将其设置为零是否有任何问题?

1 个答案:

答案 0 :(得分:3)

在函数中使用时,nargin给出传递给该函数的参数数量。与字符串参数fn一起使用时,它是一个内置函数,它返回函数fn所采用的参数个数。您应该在没有工作区参数的情况下调用它:

  

nargin返回在对当前正在执行的函数的调用中传递的输入参数的数量。 仅在函数体中使用此nargin语法。

你可以,但你应该避免为nargin分配一个值,因为它会松开第二个语义:

nargin('sparse')

ans =

 6

nargin = 0;
nargin('sparse')
Index exceeds matrix dimensions.