org.mklab.tool.control.system.continuous
クラス UserDefinedContinuousDynamicSystem

java.lang.Object
  上位を拡張 org.mklab.tool.control.system.SystemOperator
      上位を拡張 org.mklab.tool.control.system.continuous.BaseContinuousDynamicSystem
          上位を拡張 org.mklab.tool.control.system.continuous.UserDefinedContinuousDynamicSystem
すべての実装されたインタフェース:
Cloneable, ArrayElement<SystemOperator>, GridElement<SystemOperator>, DifferentialSystem, ContinuousDynamicSystem, DynamicSystem, UserDefinedSystem

public class UserDefinedContinuousDynamicSystem
extends BaseContinuousDynamicSystem
implements UserDefinedSystem

ユーザ定義連続時間動的システムを表わすクラスです。

バージョン:
$Revision: 1.14 $, 2007/07/16
作成者:
koga

コンストラクタの概要
UserDefinedContinuousDynamicSystem()
          新しく生成されたUserDefinedContinuousDynamicSystemオブジェクトを初期化します。
UserDefinedContinuousDynamicSystem(Object obj)
          新しく生成されたUserDefinedDynamicSystemオブジェクトを初期化します。
 
メソッドの概要
 boolean containParameter(String name)
          指定した名前のパラメータをもつか判定します。
 Set<String> getParameterNames()
          システムパラメータの名前の集合を返します。
 Object getParameterValue(String name)
          パラメータの値を返します。
 Class<?> getSystemClass()
          システムを定義したクラスを返します。
 void initialize()
          状態などの初期化を行います。
 Matrix outputEquation(double t, Matrix x)
          直達項をもたないシステムの出力を返します。
 Matrix outputEquation(double t, Matrix x, Matrix u)
          直達項をもつシステムの出力を返します。
 void setDirectFeedthrough(boolean hasDirectFeedthrough)
          直達項があるか(出力が入力に直接依存するか)設定します。
 void setInitializeFunction(Method method)
          システムの初期化処理を定義したメソッドを設定します。
 void setOutputFunction(Method method)
          システムの出力方程式を定義したメソッドを設定します。
 void setParameterValue(String name, Object value)
          パラメータの値を設定します。
 void setStateFunction(Method method)
          システムの状態方程式を定義したメソッドを設定します。
 void setSystemClass(Class<?> klass)
          システムを定義したクラスを設定します。
 void setUpdateFunction(Method method)
          システムの更新処理を定義したメソッドを設定します。
 Matrix stateEquation(double t, Matrix x, Matrix u)
          状態の微分を返します。
 void update()
          パラメータを更新します。
 
クラス org.mklab.tool.control.system.continuous.BaseContinuousDynamicSystem から継承されたメソッド
clone, differentialEquation, equals, getInitialState, getState, getStateNumber, hashCode, inputOutputEquation, setInitialState, setState, setStateNumber
 
クラス org.mklab.tool.control.system.SystemOperator から継承されたメソッド
compare, createArray, createArray, createGrid, createGrid, createZero, getInputSize, getLinearSystem, getOutputSize, getParameter, getParameters, getStateSize, hasDirectFeedthrough, isAutoSize, isDynamic, isForecdSystem, isInlet, isLinear, isOutlet, isSISO, isSizeDefined, isStatic, isTransformableFrom, isTransformableTo, isZero, resetAutoSize, setAutoSize, setDynamic, setForcedSystem, setHasDirectFeedthrough, setInlet, setInputSize, setLinear, setOutlet, setOutputSize, setParameter, setStateSize, setupParameters, toString, toString, transformFrom, transformTo
 
クラス java.lang.Object から継承されたメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

UserDefinedContinuousDynamicSystem

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

パラメータ:
obj - 呼び出し対象オブジェクト。nullの場合は静的メソッドを参照します

UserDefinedContinuousDynamicSystem

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

メソッドの詳細

outputEquation

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

出力方程式を表します。

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

outputEquation

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

出力方程式を表します。

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

stateEquation

public Matrix stateEquation(double t,
                            Matrix x,
                            Matrix u)
                     throws SolverStopException
インタフェース ContinuousDynamicSystem の記述:
状態の微分を返します。

状態方程式を表します。

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

setSystemClass

public void setSystemClass(Class<?> klass)
インタフェース UserDefinedSystem の記述:
システムを定義したクラスを設定します。

定義:
インタフェース UserDefinedSystem 内の setSystemClass
パラメータ:
klass - システムを定義したクラス
関連項目:
UserDefinedSystem.setSystemClass(java.lang.Class)

getSystemClass

public Class<?> getSystemClass()
インタフェース UserDefinedSystem の記述:
システムを定義したクラスを返します。

定義:
インタフェース UserDefinedSystem 内の getSystemClass
戻り値:
システムを定義したクラス
関連項目:
UserDefinedSystem.getSystemClass()

setStateFunction

public void setStateFunction(Method method)
                      throws SecurityException
システムの状態方程式を定義したメソッドを設定します。

パラメータ:
method - システムの状態方程式を定義したメソッド
例外:
SecurityException - メソッドにアクセスする権利が無い場合

setOutputFunction

public void setOutputFunction(Method method)
                       throws SecurityException
システムの出力方程式を定義したメソッドを設定します。

パラメータ:
method - システムの出力方程式を定義したメソッド
例外:
SecurityException - メソッドにアクセスする権利が無い場合

setInitializeFunction

public void setInitializeFunction(Method method)
                           throws SecurityException
インタフェース UserDefinedSystem の記述:
システムの初期化処理を定義したメソッドを設定します。

定義:
インタフェース UserDefinedSystem 内の setInitializeFunction
パラメータ:
method - システムの初期化処理を定義したメソッド
例外:
SecurityException - メソッドにアクセスする権利が無い場合
関連項目:
UserDefinedSystem.setInitializeFunction(java.lang.reflect.Method)

setUpdateFunction

public void setUpdateFunction(Method method)
                       throws SecurityException
インタフェース UserDefinedSystem の記述:
システムの更新処理を定義したメソッドを設定します。

定義:
インタフェース UserDefinedSystem 内の setUpdateFunction
パラメータ:
method - システムの更新処理を定義したメソッド
例外:
SecurityException - メソッドにアクセスする権利が無い場合
関連項目:
UserDefinedSystem.setUpdateFunction(java.lang.reflect.Method)

getParameterValue

public Object getParameterValue(String name)
                         throws NoSuchParameterException
インタフェース UserDefinedSystem の記述:
パラメータの値を返します。

定義:
インタフェース UserDefinedSystem 内の getParameterValue
パラメータ:
name - パラメータの名前
戻り値:
パラメータの値
例外:
NoSuchParameterException - パラメータが存在しない場合、パラメータにアクセスできない場合
関連項目:
UserDefinedSystem.getParameterValue(java.lang.String)

getParameterNames

public Set<String> getParameterNames()
                              throws NoSuchParameterException
インタフェース UserDefinedSystem の記述:
システムパラメータの名前の集合を返します。

定義:
インタフェース UserDefinedSystem 内の getParameterNames
戻り値:
システムパラメータの名前の集合
例外:
NoSuchParameterException - パラメータにアクセスできない場合
関連項目:
UserDefinedSystem.getParameterNames()

setParameterValue

public void setParameterValue(String name,
                              Object value)
                       throws NoSuchParameterException
インタフェース UserDefinedSystem の記述:
パラメータの値を設定します。

定義:
インタフェース UserDefinedSystem 内の setParameterValue
パラメータ:
name - パラメータの名前
value - パラメータの値
例外:
NoSuchParameterException - パラメータが存在しない場合、パラメータにアクセスできない場合
関連項目:
UserDefinedSystem.setParameterValue(java.lang.String, java.lang.Object)

containParameter

public boolean containParameter(String name)
インタフェース UserDefinedSystem の記述:
指定した名前のパラメータをもつか判定します。

定義:
インタフェース UserDefinedSystem 内の containParameter
パラメータ:
name - パラメータの名前
戻り値:
指定した名前のパラメータをもつならばtrue、そうでなければfalse
関連項目:
UserDefinedSystem.containParameter(java.lang.String)

update

public void update()
            throws ParameterException
インタフェース UserDefinedSystem の記述:
パラメータを更新します。

定義:
インタフェース UserDefinedSystem 内の update
例外:
ParameterException - パラメータに関する問題がある場合
関連項目:
UserDefinedSystem.update()

initialize

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

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

setDirectFeedthrough

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

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