This is machine translation

Translated by Microsoft
Mouse over text to see original. Click the button below to return to the English verison of the page.


Number of function input arguments




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


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


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;
        c = 0;

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';
ans =

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)
   title('My New Plot')

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

fx = 'mynewplot';
ans =

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

Introduced before R2006a

Was this topic helpful?