nargin

Number of function input arguments

Syntax

`narginnargin(fx)`

Description

`nargin` returns the number of input arguments passed in the call to the currently executing function. Use this `nargin` syntax only in the body of a function.

`nargin(fx)` returns the number of input arguments that appear in the definition statement for function `fx`. If the function includes `varargin` in its definition, then `nargin` returns the negative of the number of inputs. For example, if function `foo` declares inputs `a`, `b`, and `varargin`, then `nargin('foo')` returns `-3`.

Input Arguments

 `fx` Either a function handle or a string in single quotes that specifies the name of a function.

Examples

collapse all

Inputs to Current Function

Create a function in a file named `addme.m` that accepts up to two inputs, and identify the number of inputs with `nargin`.

```function c = addme(a,b) switch nargin case 2 c = a + b; case 1 c = a + a; otherwise c = 0; end ```

Inputs Defined for a Function

Determine how many inputs a function can accept.

The function `addme` created in the previous example has two inputs in its declaration statement (`a` and `b`).

```fx = 'addme'; nargin(fx)```
```ans = 2```

Function with varargin Input

Determine how many inputs a function that uses `varargin` can accept.

Define a function in a file named `mynewplot.m` that accepts numeric inputs `x` and `y` and any number of additional plot inputs using `varargin`.

```function mynewplot(x,y,varargin) figure plot(x,y,varargin{:}) title('My New Plot')```

At the command line, query how many inputs `newplot` can accept.

```fx = 'mynewplot'; nargin(fx)```
```ans = -3```

The minus sign indicates that the third input is `varargin`. The `mynewplot` function can accept an indeterminate number of additional input arguments.

See Also

Introduced before R2006a

Was this topic helpful?

Get trial now