ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

matlab.system.mixin.Nondirect クラス

パッケージ: matlab.system.mixin

非直接フィードスルー mixin クラス

説明

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

直接フィードスルーを使用する System object の場合、出力の生成にはそのときにオブジェクトの入力が必要です。このような直接フィードスルー オブジェクトの場合、step メソッドは出力を計算して状態値を更新します。ただし、非直接フィードスルーでは、オブジェクトの出力はそのときの内部の状態のみに依存します。入力は、オブジェクトの状態を更新するために使用されます。このようなオブジェクトの場合、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 でコード生成がサポートされない — 既定の isInputDirectFeedthrough メソッドにより、直接フィードスルーが有効になっていないことを示す false が返されます。既定の動作をオーバーライドするには、クラス定義ファイルで isInputDirectFeedthroughImpl メソッドを実装します。

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

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

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

メソッド

isInputDirectFeedthroughImpl入力の直接フィードスルーのステータス
outputImplSystem object の入力または内部状態からの出力計算
updateImpl入力に基づくオブジェクト状態の更新
この情報は役に立ちましたか?