Accelerating the pace of engineering and science

# Documentation Center

• Trial Software

# nargin

Number of function input arguments

nargin
nargin(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

expand 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.