Documentation Center

  • Trials
  • Product Updates

nargin

Number of function input arguments

Syntax

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.

See Also

| | | | |

Was this topic helpful?