Since MATLAB® is an untyped language, most functions do not require argument
declarations or validation. However, if your function has wide usage and you
need to verify the type, size, or other aspects of inputs to ensure that
your code works as expected, you can define an arguments
block (since R2019b). For details, see Function Argument Validation.
Additionally, you can check how many inputs or outputs your function receives, the names of input variables, and more.
Choose a technique for checking the validity of input arguments.
Declare input argument class and size and enforce restrictions on argument values.
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.
Define required and optional inputs, assign defaults to optional inputs, and validate all inputs to a custom function using the Input Parser.
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.
Find Number of Function Arguments
Use nargin
and nargout
to
determine how many input or output arguments your function receives.
Ignore Inputs in Function Definitions
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.