org.mklab.tool.control.system
クラス SystemOperator

java.lang.Object
  上位を拡張 org.mklab.tool.control.system.SystemOperator
すべての実装されたインタフェース:
Cloneable, ArrayElement<SystemOperator>, GridElement<SystemOperator>
直系の既知のサブクラス:
BaseContinuousDynamicSystem, BaseContinuousStaticSystem, BaseDiscreteDynamicSystem, BaseDiscreteStaticSystem, BaseSampledDataDynamicSystem, BaseSampledDataStaticSystem, BlockSystem, ZeroSystem

public abstract class SystemOperator
extends Object
implements ArrayElement<SystemOperator>, Cloneable

システムオペレータ(数式モデル)を表すクラスです。

バージョン:
$Revision: 1.43 $, 2004/11/09
作成者:
Koga Laboratory

コンストラクタの概要
SystemOperator()
          新しく生成されたSystemOperatorオブジェクトを初期化します。
 
メソッドの概要
 SystemOperator clone()
          複製を生成します。
 boolean compare(String operator, GridElement<?> element)
          opponentoperatorで指定された演算子で比較します。
 SystemOperator[] createArray(int size)
          グリッドの一次元配列を生成します。
 SystemOperator[][] createArray(int rowSize, int columnSize)
          グリッドの2次元配列を生成します。
 AdjacencyMatrix createGrid(ArrayElement<? extends ArrayElement<?>>[] elements)
          行ベクトルを生成します。
 AdjacencyMatrix createGrid(ArrayElement<? extends ArrayElement<?>>[][] elements)
          行列を生成します。
 SystemOperator createZero()
          零(デフォルトの初期値)を生成します。
 boolean equals(Object opponent)
           
 int getInputSize()
          入力の数を返します。
 LinearSystem getLinearSystem()
          線形システムの場合、線形システムの式を返します。
 int getOutputSize()
          出力の数を返します。
 ParameterContainer getParameter(String name)
          指定された名前のパラメータを返します。
 Set<ParameterContainer> getParameters()
          パラメータの集合を返します。
 int getStateSize()
          次数(状態の数)を返します。
 boolean hasDirectFeedthrough()
          直達項があるか(出力が入力に直接依存するか)判定します。
 int hashCode()
           
abstract  void initialize()
          状態などの初期化を行います。
 boolean isAutoSize()
          自動的に入出力の数を設定するか判定します。
 boolean isDynamic()
          動的システムであるか判定します。
 boolean isForecdSystem()
          状態が入力に依存するか判定します。
 boolean isInlet()
          入力が入力端であるか判定します。
 boolean isLinear()
          線形システムであるか判定します。
 boolean isOutlet()
          出力が出力端であるか判定します。
 boolean isSISO()
          SISO(1入力1出力)システムであるか判定します。
 boolean isSizeDefined()
          入出力数が決定されたか判定します。
 boolean isStatic()
          静的システムであるか判定します。
 boolean isTransformableFrom(GridElement<?> value)
          引数で与えられた型からこの型へ変換可能か判定します。
 boolean isTransformableTo(GridElement<?> value)
          この型から引数で与えられた型へ変換可能か判定します。
 boolean isZero()
          零(デフォルトの初期値)であるか判定します。
 void resetAutoSize()
          自動的に入出力の数を設定するシステムの入出力数をリセットします。
 void setAutoSize(boolean autoSize)
          自動的に入出力の数を設定するか設定します。
protected  void setDynamic(boolean dynamic)
          動的システムであるか設定します。
protected  void setForcedSystem(boolean forcedSystem)
          状態が入力に依存するか設定します。
protected  void setHasDirectFeedthrough(boolean hasDirectFeedthrough)
          直達項があるか(出力が入力に直接依存するか)設定します。
 void setInlet(boolean inlet)
          入力が入力端であるかを設定します。
 void setInputSize(int inputSize)
          入力の数を設定します。
 void setLinear(boolean linear)
          線形システムであるか設定します。
 void setOutlet(boolean outlet)
          出力が出力端であるかを設定します。
 void setOutputSize(int outputSize)
          出力の数を設定します。
 void setParameter(String name, Object value)
          指定された名前のパラメータの値を設定します。
 void setStateSize(int stateSize)
          次数(状態の数)を設定します。
 void setupParameters(Class<? extends SystemOperator> klass)
          指定されたクラスとそのスーパークラスに属するパラメータの集合を生成します。
 String toString()
          入力数、出力数、状態数を文字列に変換します。
 String toString(String valueFormat)
          文字列に変換します。
 SystemOperator transformFrom(GridElement<?> value)
          引数で与えられた型からこの型へ変換します。
 GridElement<?> transformTo(GridElement<?> value)
          この型から引数で与えられた型へ変換します。
 
クラス java.lang.Object から継承されたメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

SystemOperator

public SystemOperator()
新しく生成されたSystemOperatorオブジェクトを初期化します。

メソッドの詳細

clone

public SystemOperator clone()
インタフェース GridElement の記述:
複製を生成します。

定義:
インタフェース GridElement<SystemOperator> 内の clone
オーバーライド:
クラス Object 内の clone
戻り値:
生成した複製
関連項目:
GridElement.clone()

equals

public boolean equals(Object opponent)
オーバーライド:
クラス Object 内の equals
関連項目:
Object.equals(java.lang.Object)

hashCode

public int hashCode()
オーバーライド:
クラス Object 内の hashCode
関連項目:
Object.hashCode()

getStateSize

public int getStateSize()
次数(状態の数)を返します。

戻り値:
状態の数

setStateSize

public void setStateSize(int stateSize)
次数(状態の数)を設定します。

パラメータ:
stateSize - 状態の数

getInputSize

public int getInputSize()
入力の数を返します。

戻り値:
入力の数

setInputSize

public void setInputSize(int inputSize)
入力の数を設定します。

パラメータ:
inputSize - 入力の数

getOutputSize

public final int getOutputSize()
出力の数を返します。

戻り値:
出力の数

setOutputSize

public void setOutputSize(int outputSize)
出力の数を設定します。

パラメータ:
outputSize - 出力の数

hasDirectFeedthrough

public final boolean hasDirectFeedthrough()
直達項があるか(出力が入力に直接依存するか)判定します。

戻り値:
直達項があれば(出力が入力に直接依存すれば)true、そうでなければfalse

setHasDirectFeedthrough

protected final void setHasDirectFeedthrough(boolean hasDirectFeedthrough)
直達項があるか(出力が入力に直接依存するか)設定します。

パラメータ:
hasDirectFeedthrough - 直達項があれば(出力が入力に直接依存すれば)true、そうでなければfalse

setInlet

public void setInlet(boolean inlet)
入力が入力端であるかを設定します。

パラメータ:
inlet - 入力が入力端ならばtrue、そうでなければfalse

isInlet

public boolean isInlet()
入力が入力端であるか判定します。

戻り値:
入力が入力端ならばtrue、そうでなければfalse

setOutlet

public void setOutlet(boolean outlet)
出力が出力端であるかを設定します。

パラメータ:
outlet - 出力が出力端ならばtrue、そうでなければfalse

isOutlet

public boolean isOutlet()
出力が出力端であるか判定します。

戻り値:
出力が出力端ならばtrue、そうでなければfalse

isForecdSystem

public final boolean isForecdSystem()
状態が入力に依存するか判定します。

戻り値:
状態が入力に依存すればtrue、そうでなければfalse

setForcedSystem

protected final void setForcedSystem(boolean forcedSystem)
状態が入力に依存するか設定します。

パラメータ:
forcedSystem - 状態が入力に依存すればtrue、そうでなければfalse

isDynamic

public final boolean isDynamic()
動的システムであるか判定します。

戻り値:
動的システムならばtrue、そうでなければfalse

isStatic

public final boolean isStatic()
静的システムであるか判定します。

戻り値:
静的システムならばtrue、そうでなければfalse

setDynamic

protected final void setDynamic(boolean dynamic)
動的システムであるか設定します。

パラメータ:
dynamic - 動的システムならばtrue、そうでなければfalse

setLinear

public final void setLinear(boolean linear)
線形システムであるか設定します。

パラメータ:
linear - 線形システムならばtrue、そうでなければfalse

isLinear

public final boolean isLinear()
線形システムであるか判定します。

戻り値:
線形システムならばtrue、そうでなければfalse

getLinearSystem

public LinearSystem getLinearSystem()
線形システムの場合、線形システムの式を返します。

戻り値:
線形システムの式

initialize

public abstract void initialize()
状態などの初期化を行います。


toString

public String toString()
入力数、出力数、状態数を文字列に変換します。

定義:
インタフェース GridElement<SystemOperator> 内の toString
オーバーライド:
クラス Object 内の toString
戻り値:
変換結果の文字列
関連項目:
Object.toString()

toString

public String toString(String valueFormat)
インタフェース GridElement の記述:
文字列に変換します。

定義:
インタフェース GridElement<SystemOperator> 内の toString
パラメータ:
valueFormat - 値のフォーマット
戻り値:
変換結果の文字列
関連項目:
GridElement.toString(java.lang.String)

isSISO

public boolean isSISO()
SISO(1入力1出力)システムであるか判定します。

戻り値:
SISO(1入力1出力)システムならばtrue、そうでなければfalse

createGrid

public AdjacencyMatrix createGrid(ArrayElement<? extends ArrayElement<?>>[][] elements)
インタフェース ArrayElement の記述:
行列を生成します。

定義:
インタフェース ArrayElement<SystemOperator> 内の createGrid
パラメータ:
elements - 配列の成分
戻り値:
生成した行列
関連項目:
ArrayElement.createGrid(org.mklab.nfc.matrix.ArrayElement[][])

createGrid

public AdjacencyMatrix createGrid(ArrayElement<? extends ArrayElement<?>>[] elements)
インタフェース ArrayElement の記述:
行ベクトルを生成します。

定義:
インタフェース ArrayElement<SystemOperator> 内の createGrid
パラメータ:
elements - ベクトルの成分
戻り値:
生成したベクトル
関連項目:
ArrayElement.createGrid(org.mklab.nfc.matrix.ArrayElement[])

createZero

public SystemOperator createZero()
インタフェース GridElement の記述:
零(デフォルトの初期値)を生成します。

定義:
インタフェース GridElement<SystemOperator> 内の createZero
戻り値:
零(デフォルトの初期値)
関連項目:
GridElement.createZero()

isZero

public boolean isZero()
インタフェース GridElement の記述:
零(デフォルトの初期値)であるか判定します。

定義:
インタフェース GridElement<SystemOperator> 内の isZero
戻り値:
零(デフォルトの初期値)ならばtrue、そうでなければfalse
関連項目:
GridElement.isZero()

compare

public boolean compare(String operator,
                       GridElement<?> element)
インタフェース GridElement の記述:
opponentoperatorで指定された演算子で比較します。

定義:
インタフェース GridElement<SystemOperator> 内の compare
パラメータ:
operator - 比較演算子 (".==", ".!=")
element - 比較対象
戻り値:
比較式が正しければtrue、そうでなければfalse
関連項目:
GridElement.compare(java.lang.String, org.mklab.nfc.matrix.GridElement)

createArray

public SystemOperator[] createArray(int size)
インタフェース GridElement の記述:
グリッドの一次元配列を生成します。

定義:
インタフェース GridElement<SystemOperator> 内の createArray
パラメータ:
size - 成分の数
戻り値:
グリッドの一次元配列
関連項目:
GridElement.createArray(int)

createArray

public SystemOperator[][] createArray(int rowSize,
                                      int columnSize)
インタフェース GridElement の記述:
グリッドの2次元配列を生成します。

定義:
インタフェース GridElement<SystemOperator> 内の createArray
パラメータ:
rowSize - 行の数
columnSize - 列の数
戻り値:
グリッドの2次元配列
関連項目:
GridElement.createArray(int, int)

transformFrom

public SystemOperator transformFrom(GridElement<?> value)
インタフェース GridElement の記述:
引数で与えられた型からこの型へ変換します。

定義:
インタフェース GridElement<SystemOperator> 内の transformFrom
パラメータ:
value - 変換元
戻り値:
変換で生成された値
関連項目:
GridElement.transformFrom(org.mklab.nfc.matrix.GridElement)

transformTo

public GridElement<?> transformTo(GridElement<?> value)
インタフェース GridElement の記述:
この型から引数で与えられた型へ変換します。

定義:
インタフェース GridElement<SystemOperator> 内の transformTo
パラメータ:
value - 変換先
戻り値:
変換で生成された値
関連項目:
GridElement.transformTo(org.mklab.nfc.matrix.GridElement)

isTransformableFrom

public boolean isTransformableFrom(GridElement<?> value)
インタフェース GridElement の記述:
引数で与えられた型からこの型へ変換可能か判定します。

定義:
インタフェース GridElement<SystemOperator> 内の isTransformableFrom
パラメータ:
value - 変換元
戻り値:
変換可能ならtrue、そうでなければfalse
関連項目:
GridElement.isTransformableFrom(org.mklab.nfc.matrix.GridElement)

isTransformableTo

public boolean isTransformableTo(GridElement<?> value)
インタフェース GridElement の記述:
この型から引数で与えられた型へ変換可能か判定します。

定義:
インタフェース GridElement<SystemOperator> 内の isTransformableTo
パラメータ:
value - 変換先
戻り値:
変換可能ならtrue、そうでなければfalse
関連項目:
GridElement.isTransformableTo(org.mklab.nfc.matrix.GridElement)

getParameter

public ParameterContainer getParameter(String name)
                                throws NoSuchParameterException
指定された名前のパラメータを返します。

パラメータ:
name - パラメータの名前
戻り値:
指定された名前のパラメータ
例外:
NoSuchParameterException - 指定された名前のパラメータが存在しない場合

setParameter

public void setParameter(String name,
                         Object value)
                  throws NoSuchParameterException,
                         ParameterAccessException
指定された名前のパラメータの値を設定します。

パラメータ:
name - パラメータの名前
value - パラメータの値
例外:
NoSuchParameterException - 指定された名前のパラメータが存在しない場合
ParameterAccessException - パラメータへのアクセス権がない場合

setupParameters

public void setupParameters(Class<? extends SystemOperator> klass)
                     throws ParameterAccessException
指定されたクラスとそのスーパークラスに属するパラメータの集合を生成します。

パラメータ:
klass - パラメータ集合を生成するクラス
例外:
ParameterAccessException - パラメータにアクセスできない場合

getParameters

public Set<ParameterContainer> getParameters()
パラメータの集合を返します。

戻り値:
パラメータの集合

isAutoSize

public boolean isAutoSize()
自動的に入出力の数を設定するか判定します。

戻り値:
自動的に入出力の数を設定するならばtrue、そうでなければfalse

setAutoSize

public void setAutoSize(boolean autoSize)
自動的に入出力の数を設定するか設定します。

パラメータ:
autoSize - 自動的に入出力の数を設定するならばtrue、そうでなければfalse

resetAutoSize

public void resetAutoSize()
自動的に入出力の数を設定するシステムの入出力数をリセットします。


isSizeDefined

public boolean isSizeDefined()
入出力数が決定されたか判定します。

戻り値:
入出力数が決定されていればtrue、そうでなければfalse