This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

setupImpl

Initialize System object

Syntax

setupImpl(obj)
setupImpl(obj,input1,input2,...)

Description

setupImpl(obj) implements one-time tasks.

setupImpl(obj,input1,input2,...) sets up a System object™ using one or more of the stepImpl input specifications.

Class Information

This method is part of the matlab.System class.

Run-Time Details

setupImpl is called via the setup method. Users never call the setup method directly. But, setup is called the first time a System object is run and after a System object has been released. For details, see Detailed Call Sequence

Method Authoring Tips

  • If your System object does not require any setup tasks, you can omit this method from your class definition file.

  • Use setupImpl to set private properties so they do not need to be calculated each time stepImpl method is called.

  • To acquire resources for a System object, you must use setupImpl instead of a constructor.

  • You must set Access = protected for this method.

  • Do not use setupImpl to initialize or reset states. For states, use the resetImpl method.

  • If the System object will be used in the Simulink® MATLAB System block, you cannot modify any tunable properties in the setupImpl method

  • Do not use the setupImpl method to set up input values.

  • Do not include validation in setupImpl. To validate properties or inputs use the validatePropertiesImpl, validateInputsImpl, or setProperties methods.

Input Arguments

expand all

System object handle used to access properties, states, and methods specific to the object.

List the inputs to the System object. The order of inputs must match the order of inputs defined in the stepImpl method. stepImpl passes the inputs into setupImpl to use the specifications, such as size and data types in the one-time calculations.

Examples

expand all

This example shows how to open a file for writing using the setupImpl method in your class definition file.

methods (Access = protected)
   function setupImpl(obj)
      obj.pFileID = fopen(obj.Filename,'wb');
      if obj.pFileID < 0
         error('Opening the file failed');
       end
   end
end

This example shows how to use setupImpl to specify that running the object initializes the properties of an input. In this case, calls to run the object, which includes input u, initialize the object states in a matrix of size u.

methods (Access = protected)
   function setupImpl(obj, u) 
    obj.State = zeros(size(u),'like', u); 
  end 
end

Introduced in R2011b