matlab.System クラス
System object の基底クラス
説明
matlab.System
は System object の基底クラスです。クラス定義ファイルでは、この基底クラス (またはこの基底クラスから派生する別のクラス) から、オブジェクトをサブクラス化しなければなりません。サブクラス化により、この基底クラスで提供されている実装メソッドおよびサービス メソッドを使用してオブジェクトを作成できるようになります。matlab.System
基底クラスから直接継承するには、クラス定義ファイルの最初の行で次の構文を入力します。ここで、ObjectName
は構成するオブジェクト名です。
classdef ObjectName < matlab.System
メモ
コードで使用する各 matlab.System
メソッドに対し、Access = protected
と設定しなければなりません。
matlab.System
クラスは handle
クラスです。
メソッド
保護されたメソッド
setupImpl | System object の初期化 |
stepImpl | システム出力と状態更新の式 |
resetImpl | System object の状態のリセット |
releaseImpl | リソースの解放 |
getDiscreteStateImpl | 離散状態プロパティ値 |
infoImpl | System object に関する情報 |
isDoneImpl | データ終了フラグ |
isInactivePropertyImpl | 非アクティブなプロパティのステータス |
isTunablePropertyDataTypeMutableImpl | 調整可能なプロパティがデータ型を変更できるかどうかの設定 |
isDiscreteStateSpecificationMutableImpl | 離散状態がデータ型を変更できるかどうかの制御 |
processTunedPropertiesImpl | 調整可能なプロパティが変更された場合のアクション |
setProperties | System object の作成時に名前と値のペアを使用したプロパティ値を設定 |
validatePropertiesImpl | System object のプロパティ値の検証 |
getNumInputsImpl | System object への入力数 |
getNumOutputsImpl | System object からの出力数 |
getNumInputs | System object を呼び出すために必要な入力数 |
getNumOutputs | System object の呼び出しによる出力数 |
getInterfaceImpl (Simulink) | System object をメッセージまたはデータとして設定 |
isInputComplexityMutableImpl | System object の入力の実数/複素数が変更できるかどうかの設定 |
isInputDataTypeMutableImpl | System object の入力データ型が変更できるかどうかの設定 |
isInputSizeMutableImpl | System object の入力サイズが変更できるかどうかの設定 |
nargin | System object の入力引数の数 |
nargout | System object の出力引数の数 |
processInputSpecificationChangeImpl | 入力サイズ、実数/複素数、またはデータ型が変更されたときのアクションの実行 |
validateInputsImpl | System object への入力の検証 |
loadObjectImpl | MAT ファイルからの System object の読み込み |
saveObjectImpl | MAT ファイルへの System object の保存 |
allowModelReferenceDiscreteSampleTimeInheritanceImpl | 離散サンプル時間に関するモデル参照のサンプル時間継承状態 |
getSimulateUsingImpl | [シミュレーション実行方法] パラメーターの値を指定 |
getSimulinkFunctionNamesImpl | System object で使用する Simulink 関数名の登録 |
showFiSettingsImpl | System object の固定小数点データ型タブの表示 |
supportsMultipleInstanceImpl | Simulink の For Each Subsystem における System object のサポート |
getSimulateUsingImpl | [シミュレーション実行方法] パラメーターの値を指定 |
supportsMultipleInstanceImpl | Simulink の For Each Subsystem における System object のサポート |
isInputDirectFeedthroughImpl | 入力の直達のステータス |
outputImpl | System object の入力または内部状態からの出力計算 |
updateImpl | 入力に基づくオブジェクト状態の更新 |
getDiscreteStateSpecificationImpl | 離散状態のサイズ、データ型および複素数/実数 |
getOutputDataTypeImpl | 出力端子のデータ型 |
getOutputSizeImpl | 出力端子のサイズ |
isOutputComplexImpl | 出力端子の複素数/実数 |
isOutputFixedSizeImpl | 固定サイズまたは可変サイズの出力端子 |
propagatedInputComplexity | Simulink の伝播時の入力の実数/複素数 |
propagatedInputDataType | Simulink の伝播時の入力のデータ型 |
propagatedInputFixedSize | Simulink の伝播時の入力の固定サイズ ステータス |
propagatedInputSize | Simulink の伝播時の入力のサイズ |
getIconImpl | ブロック アイコンとして表示される名前 |
getHeaderImpl | System object 表示のヘッダー |
matlab.system.display.Action | カスタム ボタン |
matlab.system.display.Header | System object プロパティのヘッダー |
matlab.system.display.Icon | カスタム アイコン イメージ |
matlab.system.display.Section | System object のプロパティ グループ セクション |
matlab.system.display.SectionGroup | System object のセクション グループ |
getInputNamesImpl | MATLAB System ブロック入力端子の名前 |
getOutputNamesImpl | MATLAB System ブロック出力端子の名前 |
getGlobalNamesImpl | MATLAB システム ブロックのグローバル変数名 |
showSimulateUsingImpl | [シミュレーション実行方法] パラメーターの可視性 |
createSampleTime | サンプル時間指定オブジェクトの作成 |
getSampleTime | サンプル時間のクエリ |
getSampleTimeImpl | サンプル時間タイプ、オフセット時間およびサンプル時間を指定 |
getCurrentTime | MATLAB System ブロックの現在のシミュレーション時間 |
allowModelReferenceDiscreteSampleTimeInheritanceImpl | 離散サンプル時間に関するモデル参照のサンプル時間継承状態 |
getImpulseResponseLengthImpl | Dataflow Subsystem で用いる入力効果の長さを定義 |
getInputDimensionConstraintImpl | Dataflow Subsystem で用いる入力の次元制約を定義 |
getOutputDimensionConstraintImpl | Dataflow Subsystem で用いる出力の次元制約を定義 |
例
基本的な System object の作成
この例では、AddOne
という基本的な System object を作成する方法を示します。
MATLAB で、[新規]、[System object]、[標準] を選択します。新しい System object の既定の構文とコメントを含む、新しいエディター ウィンドウが開きます。
クラス AddOne
の名前を変更します。既定のテンプレートを変更して、クラスを次のようにします。
classdef AddOne < matlab.System % ADDONE Compute an output value that increments the input by one methods (Access = protected) % Implement algorithm. Calculate y as a function of input x. function y = stepImpl(~,x) y = x + 1; end end end
AddOne
のインスタンスを作成し、入力を指定してオブジェクトを実行することで、このオブジェクトを使用します。
addingObject = AddOne; x = 5; addingObject(x)
ans = 6
詳細
属性
System object™ クラスおよびプロパティに属性を適用できます。属性の詳細については、クラスの属性またはプロパティの属性を参照してください。
次の表に、MATLAB System object クラスに適用できる属性を示します。
属性名 | 説明 |
StrictDefaults | 仕様変更の変更を制限するメソッドの既定値をコントロールします。
既定では、これらのメソッドは Simulink® で使用される System object については、この属性は入力サイズの変更のみを制限します。Simulink は既に、調整可能なプロパティ、入力および状態について、実数/複素数およびデータ型を制限しているためです。 |
クラス属性値はクラス名の前にかっこで囲んで指定します。たとえば次のようにします。
classdef (StrictDefaults) MySystemObject < matlab.System
次の属性をカスタム System object の任意のプロパティに適用できます。
Nontunable | Nontunable を使用すると、オブジェクト使用中のプロパティ値の変更が防止されます。既定の設定では、すべてのプロパティは調整可能です。Nontunable 属性は、変更すると副次的影響が出るプロパティをロックするのに便利です。またこの属性は、処理中に一定であると仮定されているプロパティ値をロックするのにも便利です。入力端子や出力端子の数に影響を及ぼすプロパティは、常に Nontunable に指定します。 |
DiscreteState | DiscreteState を使用すると、getDiscreteState メソッドを使用したときに状態値が表示されるようにプロパティがマークされます。 |
バージョン履歴
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)