Main Content


Number of input arguments for System object



numInputs = nargin(obj) returns the number of input arguments that are required by the obj algorithm definition. This function is a System object™ extension of the general nargin function.

nargin returns the number of input arguments specified in the call to the currently executing System object. Use this syntax in the body of a System object only.


collapse all

This example shows the output from nargin when used on a System object AddUp with variable-sized input.

A marker System object is defined as follows:

classdef AddUp < matlab.System
   methods(Access = protected)
        function y = stepImpl(obj,u,varargin)
            % Implement algorithm.
            y = u + sum([varargin{:}]);

Create the object and call nargin.

total = AddUp();
ans = 

Input Arguments

collapse all

System object to query.

Output Arguments

collapse all

This argument represents the number of inputs needed to call the System object.

If the output is nonnegative, the number of inputs cannot change while the object is in use.

If the output is negative, the number of inputs can change from call to call. This situation occurs when the System object does not override getNumInputsImpl and the stepImpl signature contains varargin.

Version History

Introduced in R2018a