Using Simulink | ![]() ![]() |
状態
ブロックは、状態をもつことができます。状態 は、ブロックの出力を決定する変数で、現在の値は過去の状態や入力の関数となります。状態をもつブロックは、状態の前の値を格納して、カレント値を計算する必要があります。そのため、状態は、持続すると言えます。状態をもつブロックは、状態のカレント値を計算するために状態または入力の前の値を格納する必要があるため、メモリをもつと言えます。
Simulink Integratorブロックは、状態をもつブロックの例です。Integratorブロックは、シミュレーションの開始時からカレントの時間までの入力信号の積分を出力します。カレントの時間ステップでの積分は、Integratorブロックの入力の履歴により異なります。そのため、積分はIntegratorブロックの状態で、実際に唯一の状態です。状態をもつブロックのその他の例は、Simulink Memoryブロックです。Memory ブロックは、カレントのシミュレーション時の入力値を格納し、後でそれらを出力します。Memoryブロックの状態は、入力の前の値です。
Simulink Gainブロックは、状態のないブロックの例です。Gainブロックは、入力信号にゲインと呼ばれる定数を乗算して出力します。Gainブロックの出力は、完全に、変化しない入力のカレント値とゲインの値によって決定されます。ブロックは、そのため、状態をもちません。状態をもたないブロックのその他の例は、SumおよびProductブロックです。これらのブロックの出力は、純粋にそれらの入力のカレント値の関数です(Sumの場合は和で、Productの場合は積)。そのため、これらのブロックは状態をもちません。
![]() | ダイナミックシステムのモデリング | システム関数 | ![]() |