Main Content

setupImpl

类: matlab.System

初始化 System object

语法

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

说明

setupImpl(obj) 实现一次性任务。

setupImpl(obj,input1,input2,...) 使用一个或多个 stepImpl 输入设定设置 System object™。

运行时详细信息

通过 setup 方法调用 setupImpl。用户从不直接调用 setup 方法。但是,在第一次运行 System object 和在释放 System object 后会调用 setup。有关详细信息,请参阅详细的调用序列

方法编写提示

  • 如果您的 System object 不需要任何设置任务,则可以在类定义文件中省略此方法。

  • 使用 setupImpl 设置私有属性,因此不需要在每次调用 stepImpl 方法时都计算它们。

  • 要获取 System object 的资源,您必须使用 setupImpl 而不是构造函数。

  • 您必须先对此方法设置 Access = protected

  • 不要使用 setupImpl 初始化或重置状态。对于状态,请使用 resetImpl 方法。

  • 如果将在 Simulink® MATLAB System (Simulink) 模块中使用 System object,则不能在 setupImpl 方法中修改任何可调属性。

  • 不要使用 setupImpl 方法设置输入值。

  • 不要在 setupImpl 中包括验证。要验证属性或输入,请使用 validatePropertiesImplvalidateInputsImplsetProperties 方法。

  • 如果您打算使用 MATLAB System (Simulink) 模块在 Simulink 中使用 System object,请不要在此方法中使用 System object 的输入值。您只能查询输入的设定,即数据类型、复/实性和大小。

输入参数

全部展开

System object 句柄,用于访问特定于该对象的属性、状态和方法。如果您的 setupImpl 方法不使用该对象,您可以用 ~ 替换此输入。

列出 System object 的输入。输入顺序必须与 stepImpl 方法中定义的输入顺序相匹配。stepImpl 将输入传递到 setupImpl 中以使用设定,例如一次性计算中的大小和数据类型。

示例

全部展开

此示例说明如何在类定义文件中使用 setupImpl 方法打开文件进行写入。

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

Filename 应定义为 System object 的不可调属性

properties (Nontunable)
   Filename = "default.bin"
end

此示例说明如何使用 setupImpl 指定运行对象将会初始化输入的属性。在本例中,运行对象的调用(包括输入 u)将初始化大小为 u 的矩阵中的对象状态。

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

版本历史记录

在 R2011b 中推出