Main Content

Create System Objects

Write a MATLAB® class that creates and defines a new System object™

You can define your own System object by customizing the implementation methods. Use graphical tools to explore the comprehensive API for creating System objects. For example, you can insert methods to initialize, run, reset, and terminate System objects. For an introduction to defining a System object, see Define Basic System Objects.


expand all

setupImplInitialize System object
stepImplSystem output and state update equations
resetImplReset System object states
releaseImplRelease resources
infoImplInformation about System object
isDoneImplEnd-of-data flag
isInactivePropertyImplStatus of inactive property
isTunablePropertyDataTypeMutableImplSet whether tunable properties can change data type
isDiscreteStateSpecificationMutableImplControl whether discrete states can change data type
processTunedPropertiesImplAction when tunable properties change
setPropertiesSet property values using name-value pairs when creating System object
validatePropertiesImplValidate property values of System object
getPropertyGroupsImplProperty groups for System object display
getNumInputsImplNumber of inputs to the System object
getNumOutputsImplNumber of outputs from System object
getNumInputsNumber of inputs required to call the System object
getNumOutputsNumber of outputs from calling the System object
isInputComplexityMutableImplSet whether System object input complexity can change
isInputDataTypeMutableImplSet whether System object input data type can change
isInputSizeMutableImplSet whether System object input size can change
narginNumber of input arguments for System object
nargoutNumber of output arguments for System object
processInputSpecificationChangeImplPerform actions when input size, complexity, or data type change
validateInputsImplValidate inputs to System object
loadObjectImplLoad System object from MAT file
saveObjectImplSave System object in MAT file
sysobjupdateUpdate custom System object to latest syntax


matlab.SystemBase class for System objects
matlab.system.mixin.FiniteSourceFinite source mixin class


Input and Output

Change the Number of Inputs

This example shows how to set the number of inputs for a System object™ with and without using getNumInputsImpl.

Define Composite System Objects

Define System objects that include other System objects as properties.

Handle Input Specification Changes

Implement methods to restrict when System object input complexity, data type, or size can change or implement a method to react when input specifications change.

Performance and Efficiency

Tips for Defining System Objects

Tips to speed up slow System objects.

Detailed Call Sequence

Call sequence showing the order of methods when you run a System object.

Define Finite Source Objects

This example shows how to define a System object that performs a specific number of steps or specific number of reads from a file.

Save and Load System Object

Use a MATLAB structure to save and load System object properties and state.

Featured Examples