Main Content

matlab.system.mixin.Nondirect クラス

パッケージ: matlab.system.mixin

非直達 mixin クラス

matlab.system.mixin.Nondirect mixin は将来のリリースで削除予定です。System object で今後この mixin から継承する必要はありません。関連するメソッドは matlab.System クラスに移動しました。

説明

matlab.system.mixin.Nondirect は、output および update メソッドを使って、System object™ を介した非直達データを処理するクラスです。

直達を使用する System object の場合、出力の生成にはそのときにオブジェクトの入力が必要です。このような直達オブジェクトの場合、System object は出力を計算して状態値を更新します。ただし、非直達では、オブジェクトの出力はそのときの内部の状態のみに依存します。入力は、オブジェクトの状態を更新するために使用されます。このようなオブジェクトの場合、outputImpl を使用した出力の計算は updateImpl を使用した状態値の更新から分離されます。matlab.system.mixin.Nondirect mixin を使用し、クラス定義ファイルに stepImpl メソッドを含めると、エラーが発生します。この場合は、代わりに updateImpl メソッドと outputImpl メソッドを含めなければなりません。

以下のケースは、Simulink® の System object が直達または非直達を使用する場合を説明しています。

  • System object がコード生成をサポートし、Propagates mixin から継承しない — Simulink は System object コードから直達設定を自動的に推測します。

  • System object がコード生成をサポートし、Propagates mixin から継承する — Simulink は直達設定を自動的に推測しません。代わりに、isInputDirectFeedthroughImpl メソッドによって返される値を使用します。

  • System object でコード生成がサポートされない — 既定の isInputDirectFeedthroughImpl メソッドにより、直達が有効になっていないことを示す false が返されます。既定の動作をオーバーライドするには、クラス定義ファイルで isInputDirectFeedthroughImpl メソッドを実装します。

System object を Simulink フィードバック ループで使用できるようにするには、Nondirect mixin を使用します。遅延オブジェクトは、非直達オブジェクトの例です。

この mixin を使用するには、matlab.System 基底クラスからのサブクラス化に加え、このクラスからのサブクラス化を行わなければなりません。クラス定義ファイルの最初の行として次の構文を入力します。ここで ObjectName はオブジェクト名です。

classdef ObjectName < matlab.system & matlab.system.mixin.Nondirect

バージョン履歴

R2013b で導入

すべて展開する

R2020a 以降は非推奨