Input and Output Arguments

Support variable length argument lists, check arguments


narginNumber of function input arguments
nargoutNumber of function output arguments
vararginVariable-length input argument list
varargoutVariable-length output argument list
narginchkValidate number of input arguments
nargoutchkValidate number of output arguments
validateattributesCheck validity of array
validatestringCheck validity of text
inputParserInput parser for functions
inputnameVariable name of function input
mfilenameFile name of currently running code


Find Number of Function Arguments

Use nargin and nargout to determine how many input or output arguments your function receives.

Support Variable Number of Inputs

Define a function that accepts a variable number of input arguments using varargin. The varargin argument is a cell array that contains the function inputs, where each input is in its own cell.

Support Variable Number of Outputs

Define a function that returns a variable number of output arguments using varargout. Output varargout is a cell array that contains the function outputs, where each output is in its own cell.

Validate Number of Function Arguments

Check if your custom function receives a valid number of input or output arguments. MATLAB® performs some argument checks automatically. For other cases, you can use narginchk or nargoutchk.

Argument Checking in Nested Functions

There are special considerations for using varargin, varargout, nargin, and nargout with nested functions.

Ignore Function Inputs

If your function accepts a predefined set of inputs, but does not use all the inputs, use the tilde (~) operator to ignore them in your function definition.

Ignore Function Outputs

This example shows how to request specific outputs from a function.

Check Function Inputs with validateattributes

This example shows how to verify that the inputs to your function conform to a set of requirements using the validateattributes function.

Parse Function Inputs

Define required and optional inputs, assign defaults to optional inputs, and validate all inputs to a custom function using the Input Parser.