Main Content

processTunedPropertiesImpl

类: matlab.System

可调属性更改时的操作

语法

processTunedPropertiesImpl(obj)

说明

processTunedPropertiesImpl(obj) 指定在一个或多个可调属性值发生更改时执行的算法。此方法将在 System object™ 的可调属性值发生变化后,再次调用该对象时调用。仅当属性的 Nontunable 特性为 false(默认值)时,该属性才可调。

运行时详细信息

processTunedPropertiesImpl 在您运行 System object 时调用。

在 MATLAB® 中,如果在运行 System object 之前更改了多个可调属性,将只对所有更改调用一次 processTunedPropertiesImplisChangedProperty 对所有更改的属性返回 true

在 Simulink® 中,当 MATLAB System (Simulink) 模块对话框中的某个参数发生更改时,下一个仿真步骤会在调用 stepImpl 之前调用 processTunedPropertiesImpl。所有可调参数均被视为已更改,并分别对它们调用 processTunedPropertiesImpl 方法。isChangedProperty 对所有对话框属性返回 true

有关详细信息,请参阅详细的调用序列

方法编写提示

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

  • 当可调属性会影响其他属性的值时,可使用此方法。

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

  • 要检查自上次调用 stepImpl 以来属性是否已更改,请在 processTunedPropertiesImpl 中使用 isChangedProperty。有关示例,请参阅指定可调属性更改时的操作

输入参数

全部展开

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

示例

全部展开

如果 NumNotesMiddleC 属性的值在下一次调用 System object 之前发生更改,请使用 processTunedPropertiesImpl 重新计算查找表。propChange 指示任一属性是否已更改。

methods (Access = protected)
   function processTunedPropertiesImpl(obj)
      propChange = isChangedProperty(obj,'NumNotes') ||...
         isChangedProperty(obj,'MiddleC')
      if propChange
         obj.pLookupTable = obj.MiddleC * (1+log(1:obj.NumNotes)/log(12));
      end
    end
end

版本历史记录

在 R2013b 中推出