org.mklab.tool.control.system.discrete
クラス BlockDiscreteDynamicSystem

java.lang.Object
  上位を拡張 org.mklab.tool.control.system.SystemOperator
      上位を拡張 org.mklab.tool.control.system.BlockSystem
          上位を拡張 org.mklab.tool.control.system.sampled.BlockSamplingSystem
              上位を拡張 org.mklab.tool.control.system.discrete.BlockDiscreteSystem
                  上位を拡張 org.mklab.tool.control.system.discrete.BlockDiscreteDynamicSystem
すべての実装されたインタフェース:
Cloneable, ArrayElement<SystemOperator>, GridElement<SystemOperator>, DifferenceSystem, Sampling, DiscreteDynamicSystem, DynamicSystem, Sampler

public class BlockDiscreteDynamicSystem
extends BlockDiscreteSystem
implements DiscreteDynamicSystem

差分方程式で表現されるブロック離散時間動的システムを表わすクラスです。

バージョン:
$Revision$
作成者:
koga

フィールドの概要
 
クラス org.mklab.tool.control.system.sampled.BlockSamplingSystem から継承されたフィールド
discreteDynamicSystems, discreteDynamicSystemsUpdatedAtNextSamplingPoint, discreteStaticSystems, discreteStaticSystemsUpdatedAtNextSamplingPoint, time
 
コンストラクタの概要
BlockDiscreteDynamicSystem(SystemOperator[][] elements, List<Integer> inputNodes, List<Integer> outputNodes)
          新しく生成されたBlockDiscreteDynamicSystemオブジェクトを初期化します。
 
メソッドの概要
 Matrix differenceEquation(double t, Matrix x, Matrix inputOutput)
          時刻t、状態x、外部信号(入力と出力)inputOutputから ステップ(t/T+1)の状態を返します。
 Matrix differenceEquation(int k, Matrix x, Matrix inputOutput)
          ステップk、状態x、外部信号(入力と出力)inputOutputから ステップ(k+1)の状態を返します。
 Matrix getInitialState()
          初期状態を返します。
 Matrix getState()
          現在の状態を返します。
 int getStateNumber()
          結合システムにおける状態の順番を返します。
 void initialize()
          状態などの初期化を行います。
 Matrix inputOutputEquation(double t, Matrix x)
          時刻tと状態xから外部信号(入力と出力)を返します。
 Matrix inputOutputEquation(int k, Matrix x)
          ステップkと状態xから外部信号(入力と出力)を返します。
 Matrix outputEquation(double t, Matrix x)
          直達項をもたないシステムの出力を返します。
 Matrix outputEquation(double t, Matrix x, Matrix u)
          直達項をもつシステムの出力を返します。
 Matrix outputEquation(int k, Matrix x)
          直達項をもたないシステムの出力を返します。
 Matrix outputEquation(int k, Matrix x, Matrix u)
          直達項をもつシステムの出力を返します。
 void setInitialState(Matrix initialState)
          初期状態を設定します。
 void setState(Matrix state)
          現在の状態の設定します。
 void setStateNumber(int number)
          結合システムにおける状態の順番を設定します。
 Matrix stateEquation(double t, Matrix x, Matrix u)
          (t/T+1)ステップの状態を返します。
 Matrix stateEquation(int k, Matrix x, Matrix u)
          (k+1)ステップの状態を返します。
 
クラス org.mklab.tool.control.system.discrete.BlockDiscreteSystem から継承されたメソッド
calcNodeValue, calcNodeValue, calcOutputOfDirectFeedthroughSystem, calcOutputOfNonDirectFeedthroughSystem, createStrictlyProperLinearDynamicSystem, getSamplingInterval, setSamplingInterval
 
クラス org.mklab.tool.control.system.sampled.BlockSamplingSystem から継承されたメソッド
getNextSamplingTime, getSingleSamplingInterval, isAtSamplingPoint, isSingleRate, replaceDynamicSystemList, resetSystemsUpdatedAtNextSamplingPoint, setAtSamplingPoint
 
クラス org.mklab.tool.control.system.BlockSystem から継承されたメソッド
calcNodeValue, calcOutputOfDirectFeedthroughSystem, getInputNodeSize, getInputNodeValueOf, getLinearSystem, getNodeSize, getOutputNodeSize, getOutputNodeValue, getSingleSystem, getSystemOperator, isAutoSize, isSingleSystem, resetAutoSize, resetNodeValue, separateDirectFeedthroughAndNonDirectFeedthrough, setAutoSize, setBlockMatrix, setInputNodeValue, setInputSize, setNodeValueOfNoInputNode, setOutputSize, setZeroSizeToUnDefinedInputPortOutputPort
 
クラス org.mklab.tool.control.system.SystemOperator から継承されたメソッド
clone, compare, createArray, createArray, createGrid, createGrid, createZero, equals, getInputSize, getOutputSize, getParameter, getParameters, getStateSize, hasDirectFeedthrough, hashCode, isDynamic, isForecdSystem, isInlet, isLinear, isOutlet, isSISO, isSizeDefined, isStatic, isTransformableFrom, isTransformableTo, isZero, setDynamic, setForcedSystem, setHasDirectFeedthrough, setInlet, setLinear, setOutlet, setParameter, setStateSize, setupParameters, toString, toString, transformFrom, transformTo
 
クラス java.lang.Object から継承されたメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait
 
インタフェース org.mklab.nfc.ode.Sampling から継承されたメソッド
getNextSamplingTime, isAtSamplingPoint, setAtSamplingPoint
 

コンストラクタの詳細

BlockDiscreteDynamicSystem

public BlockDiscreteDynamicSystem(SystemOperator[][] elements,
                                  List<Integer> inputNodes,
                                  List<Integer> outputNodes)
新しく生成されたBlockDiscreteDynamicSystemオブジェクトを初期化します。

パラメータ:
elements - 隣接行列
inputNodes - 入力ノードの番号のリスト(番号は1から始まる)
outputNodes - 出力ノードの番号のリスト(番号は1から始まる)
メソッドの詳細

getInitialState

public Matrix getInitialState()
インタフェース DynamicSystem の記述:
初期状態を返します。

定義:
インタフェース DynamicSystem 内の getInitialState
戻り値:
初期状態
関連項目:
DynamicSystem.getInitialState()

getState

public Matrix getState()
インタフェース DynamicSystem の記述:
現在の状態を返します。

定義:
インタフェース DynamicSystem 内の getState
戻り値:
現在の状態
関連項目:
DynamicSystem.getState()

setInitialState

public void setInitialState(Matrix initialState)
インタフェース DynamicSystem の記述:
初期状態を設定します。

定義:
インタフェース DynamicSystem 内の setInitialState
パラメータ:
initialState - 初期状態
関連項目:
DynamicSystem.setInitialState(org.mklab.nfc.matrix.Matrix)

setState

public void setState(Matrix state)
インタフェース DynamicSystem の記述:
現在の状態の設定します。

定義:
インタフェース DynamicSystem 内の setState
パラメータ:
state - 現在の状態
関連項目:
DynamicSystem.setState(org.mklab.nfc.matrix.Matrix)

stateEquation

public Matrix stateEquation(int k,
                            Matrix x,
                            Matrix u)
                     throws SolverStopException
インタフェース DiscreteDynamicSystem の記述:
(k+1)ステップの状態を返します。

状態方程式を表します。

定義:
インタフェース DiscreteDynamicSystem 内の stateEquation
パラメータ:
k - ステップ
x - 状態
u - 入力
戻り値:
(k+1)ステップの状態
例外:
SolverStopException - ソルバーが停止された場合
関連項目:
DiscreteDynamicSystem.stateEquation(int, org.mklab.nfc.matrix.Matrix, org.mklab.nfc.matrix.Matrix)

stateEquation

public Matrix stateEquation(double t,
                            Matrix x,
                            Matrix u)
                     throws SolverStopException
インタフェース DiscreteDynamicSystem の記述:
(t/T+1)ステップの状態を返します。

ただし、Tはサンプリング周期です。

状態方程式を表します。

定義:
インタフェース DiscreteDynamicSystem 内の stateEquation
パラメータ:
t - 時刻
x - 状態
u - 入力
戻り値:
(k+1)ステップの状態
例外:
SolverStopException - ソルバーが停止された場合
関連項目:
DiscreteDynamicSystem.stateEquation(double, org.mklab.nfc.matrix.Matrix, org.mklab.nfc.matrix.Matrix)

outputEquation

public Matrix outputEquation(int k,
                             Matrix x)
                      throws SolverStopException
インタフェース DiscreteDynamicSystem の記述:
直達項をもたないシステムの出力を返します。

出力方程式を表します。

定義:
インタフェース DiscreteDynamicSystem 内の outputEquation
パラメータ:
k - ステップ
x - 状態
戻り値:
出力
例外:
SolverStopException - ソルバーが停止された場合
関連項目:
DiscreteDynamicSystem.outputEquation(int, org.mklab.nfc.matrix.Matrix)

outputEquation

public Matrix outputEquation(double t,
                             Matrix x)
                      throws SolverStopException
インタフェース DynamicSystem の記述:
直達項をもたないシステムの出力を返します。

出力方程式を表します。

定義:
インタフェース DynamicSystem 内の outputEquation
パラメータ:
t - 時刻
x - 状態
戻り値:
出力
例外:
SolverStopException - ソルバーが停止された場合
関連項目:
DynamicSystem.outputEquation(double, org.mklab.nfc.matrix.Matrix)

outputEquation

public Matrix outputEquation(int k,
                             Matrix x,
                             Matrix u)
                      throws SolverStopException
インタフェース DiscreteDynamicSystem の記述:
直達項をもつシステムの出力を返します。

出力方程式を表します。

定義:
インタフェース DiscreteDynamicSystem 内の outputEquation
パラメータ:
k - ステップ
x - 状態
u - 入力
戻り値:
出力
例外:
SolverStopException - ソルバーが停止された場合
関連項目:
DiscreteDynamicSystem.outputEquation(int, org.mklab.nfc.matrix.Matrix, org.mklab.nfc.matrix.Matrix)

outputEquation

public Matrix outputEquation(double t,
                             Matrix x,
                             Matrix u)
                      throws SolverStopException
インタフェース DynamicSystem の記述:
直達項をもつシステムの出力を返します。

出力方程式を表します。

定義:
インタフェース DynamicSystem 内の outputEquation
パラメータ:
t - 時刻
x - 状態
u - 入力
戻り値:
出力
例外:
SolverStopException - ソルバーが停止された場合
関連項目:
DynamicSystem.outputEquation(double, org.mklab.nfc.matrix.Matrix, org.mklab.nfc.matrix.Matrix)

differenceEquation

public Matrix differenceEquation(int k,
                                 Matrix x,
                                 Matrix inputOutput)
                          throws SolverStopException
インタフェース DifferenceSystem の記述:
ステップk、状態x、外部信号(入力と出力)inputOutputから ステップ(k+1)の状態を返します。

定義:
インタフェース DifferenceSystem 内の differenceEquation
パラメータ:
k - ステップ
x - ステップkにおける状態
inputOutput - ステップkにおける外部信号(入力と出力)
戻り値:
ステップ(k+1)における状態
例外:
SolverStopException - ソルバーが停止された場合
関連項目:
DifferenceSystem.differenceEquation(int, org.mklab.nfc.matrix.Matrix, org.mklab.nfc.matrix.Matrix)

differenceEquation

public Matrix differenceEquation(double t,
                                 Matrix x,
                                 Matrix inputOutput)
                          throws SolverStopException
インタフェース DifferenceSystem の記述:
時刻t、状態x、外部信号(入力と出力)inputOutputから ステップ(t/T+1)の状態を返します。

ただし、Tはサンプリング周期です。

定義:
インタフェース DifferenceSystem 内の differenceEquation
パラメータ:
t - 時刻
x - 時刻 t における状態
inputOutput - 時刻 t における外部信号(入力と出力)
戻り値:
ステップ(t/T+1)における状態
例外:
SolverStopException - ソルバーが停止された場合
関連項目:
DifferenceSystem.differenceEquation(double, org.mklab.nfc.matrix.Matrix, org.mklab.nfc.matrix.Matrix)

inputOutputEquation

public Matrix inputOutputEquation(int k,
                                  Matrix x)
                           throws SolverStopException
インタフェース DifferenceSystem の記述:
ステップkと状態xから外部信号(入力と出力)を返します。

定義:
インタフェース DifferenceSystem 内の inputOutputEquation
パラメータ:
k - ステップ
x - ステップkにおける状態
戻り値:
ステップkにおける外部信号(入力と出力)
例外:
SolverStopException - ソルバーが停止された場合
関連項目:
DifferenceSystem.inputOutputEquation(int, org.mklab.nfc.matrix.Matrix)

inputOutputEquation

public Matrix inputOutputEquation(double t,
                                  Matrix x)
                           throws SolverStopException
インタフェース DifferenceSystem の記述:
時刻tと状態xから外部信号(入力と出力)を返します。

定義:
インタフェース DifferenceSystem 内の inputOutputEquation
パラメータ:
t - 時刻
x - 時刻kにおける状態
戻り値:
時刻kにおける外部信号(入力と出力)
例外:
SolverStopException - ソルバーが停止された場合
関連項目:
DifferenceSystem.inputOutputEquation(double, org.mklab.nfc.matrix.Matrix)

initialize

public void initialize()
クラス SystemOperator の記述:
状態などの初期化を行います。

オーバーライド:
クラス BlockSamplingSystem 内の initialize
関連項目:
SystemOperator.initialize()

getStateNumber

public int getStateNumber()
インタフェース DynamicSystem の記述:
結合システムにおける状態の順番を返します。

定義:
インタフェース DynamicSystem 内の getStateNumber
戻り値:
結合システムにおける状態の順番
関連項目:
DynamicSystem.getStateNumber()

setStateNumber

public void setStateNumber(int number)
インタフェース DynamicSystem の記述:
結合システムにおける状態の順番を設定します。

定義:
インタフェース DynamicSystem 内の setStateNumber
パラメータ:
number - 結合システムにおける状態の順番
関連項目:
DynamicSystem.setStateNumber(int)