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

java.lang.Object
  上位を拡張 org.mklab.tool.control.system.SystemOperator
      上位を拡張 org.mklab.tool.control.system.continuous.BaseContinuousDynamicSystem
          上位を拡張 org.mklab.tool.control.system.continuous.ContinuousLinearDynamicSystem
すべての実装されたインタフェース:
Cloneable, ArrayElement<SystemOperator>, GridElement<SystemOperator>, DifferentialSystem, ContinuousDynamicSystem, DynamicSystem, LinearSystemOperator
直系の既知のサブクラス:
ContinuousObserver, IntegratorSystem, UserDefinedContinuousLinearDynamicSystem

public class ContinuousLinearDynamicSystem
extends BaseContinuousDynamicSystem
implements LinearSystemOperator

連続時間線形動的システムを表すクラスです。

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

コンストラクタの概要
ContinuousLinearDynamicSystem()
          新しく生成されたContinuousLinearDynamicSystemオブジェクトを初期化します。
ContinuousLinearDynamicSystem(LinearSystem sys)
          新しく生成されたContinuousLinearDynamicSystemオブジェクトを初期化します。
ContinuousLinearDynamicSystem(Matrix A, Matrix B, Matrix C)
          新しく生成されたContinuousLinearDynamicSystemオブジェクトを初期化します。
ContinuousLinearDynamicSystem(Matrix A, Matrix B, Matrix C, Matrix D)
          新しく生成されたContinuousLinearDynamicSystemオブジェクトを初期化します。
 
メソッドの概要
 ContinuousLinearDynamicSystem add(LinearSystemOperator opponent)
          二つのシステムの和(並列結合)システムを求めます。
 ContinuousLinearDynamicSystem add(LinearSystemOperator opponent, boolean simplify)
          二つのシステムの和(並列結合)システムを求めます。
 ContinuousLinearDynamicSystem clone()
          複製を生成します。
 boolean equals(Object o)
           
 ContinuousLinearDynamicSystem feedback(LinearSystemOperator feedbackElement)
          二つのシステムを(ネガティブ)フィードバック結合したシステムを求めます。
 ContinuousLinearDynamicSystem feedback(LinearSystemOperator feedbackElement, boolean negative)
          二つのシステムをフィードバック結合したシステムを求めます。
 ContinuousLinearDynamicSystem feedback(LinearSystemOperator feedbackElement, boolean negative, boolean simplify)
          二つのシステムをフィードバック結合したシステムを求めます。
 Matrix getA()
          システム行列Aを返します。
 Matrix getB()
          入力行列Bを返します。
 Matrix getC()
          出力行列Cを返します。
 Matrix getD()
          ゲイン行列Dを返します。
 LinearSystem getLinearSystem()
          線形システムの場合、線形システムの式を返します。
 String getTag()
          識別するためのタグを返します。
 int hashCode()
           
 boolean hasVariableA()
          A行列を変数として扱うか判定します。
 boolean hasVariableB()
          B行列を変数として扱うか判定します。
 boolean hasVariableC()
          C行列を変数として扱うか判定します。
 boolean hasVariableD()
          D行列を変数として扱うか判定します。
 boolean isTransferFuntion()
          伝達関数から作成されたかどうかを返します.
 ContinuousLinearDynamicSystem multiply(LinearSystemOperator opponent)
          二つのシステムの積(直列結合)システムを求めます。
 ContinuousLinearDynamicSystem multiply(LinearSystemOperator opponent, boolean simplify)
          二つのシステムの積(直列結合)システムを求めます。
 Matrix outputEquation(double t, Matrix x)
          直達項をもたないシステムの出力を返します。
 Matrix outputEquation(double t, Matrix x, Matrix u)
          直達項をもつシステムの出力を返します。
 void setHasVariableA(boolean hasVariableA)
          A行列を変数として扱うか設定します。
 void setHasVariableB(boolean hasVariableB)
          B行列を変数として扱うか設定します。
 void setHasVariableC(boolean hasVariableC)
          C行列を変数として扱うか設定します。
 void setHasVariableD(boolean hasVariableD)
          D行列を変数として扱うか設定します。
 void setLinearSystem(LinearSystem system)
          線形システムを設定します。
 void setTag(String tag)
          識別するためのタグを設定します。
 void setTransferFunction(boolean isTransferFunction)
          伝達関数から作成されたかどうかを設定します.
 Matrix stateEquation(double t, Matrix x, Matrix u)
          状態の微分を返します。
 ContinuousLinearDynamicSystem subtract(LinearSystemOperator opponent)
          二つのシステムの差(並列結合)システムを求めます。
 ContinuousLinearDynamicSystem subtract(LinearSystemOperator opponent, boolean simplify)
          二つのシステムの差(並列結合)システムを求めます。
 ContinuousLinearDynamicSystem unaryMinus()
          出力の符合を反転したシステムを求めます。
 ContinuousLinearDynamicSystem unityFeedback()
          (ネガティブ)単一フィードバック結合したシステムを求めます。
 ContinuousLinearDynamicSystem unityFeedback(boolean negative)
          単一フィードバック結合したシステムを求めます。
 ContinuousLinearDynamicSystem unityFeedback(boolean negative, boolean simplify)
          単一フィードバック結合したシステムを求めます。
 
クラス org.mklab.tool.control.system.continuous.BaseContinuousDynamicSystem から継承されたメソッド
differentialEquation, getInitialState, getState, getStateNumber, initialize, inputOutputEquation, setInitialState, setState, setStateNumber
 
クラス org.mklab.tool.control.system.SystemOperator から継承されたメソッド
compare, createArray, createArray, createGrid, createGrid, createZero, getInputSize, 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
 

コンストラクタの詳細

ContinuousLinearDynamicSystem

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


ContinuousLinearDynamicSystem

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

パラメータ:
sys - 線形システム

ContinuousLinearDynamicSystem

public ContinuousLinearDynamicSystem(Matrix A,
                                     Matrix B,
                                     Matrix C,
                                     Matrix D)
新しく生成されたContinuousLinearDynamicSystemオブジェクトを初期化します。

パラメータ:
A - システム行列
B - 入力行列
C - 出力行列
D - ゲイン行列

ContinuousLinearDynamicSystem

public ContinuousLinearDynamicSystem(Matrix A,
                                     Matrix B,
                                     Matrix C)
新しく生成されたContinuousLinearDynamicSystemオブジェクトを初期化します。

Dは、零行列です。

パラメータ:
A - システム行列
B - 入力行列
C - 出力行列
メソッドの詳細

stateEquation

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

状態方程式を表します。

定義:
インタフェース ContinuousDynamicSystem 内の stateEquation
パラメータ:
t - 時刻
x - 状態
u - 入力
戻り値:
状態の微分
関連項目:
ContinuousDynamicSystem.stateEquation(double, org.mklab.nfc.matrix.Matrix, org.mklab.nfc.matrix.Matrix)

outputEquation

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

出力方程式を表します。

定義:
インタフェース DynamicSystem 内の outputEquation
オーバーライド:
クラス BaseContinuousDynamicSystem 内の outputEquation
パラメータ:
t - 時刻
x - 状態
u - 入力
戻り値:
出力
関連項目:
DynamicSystem.outputEquation(double, org.mklab.nfc.matrix.Matrix, org.mklab.nfc.matrix.Matrix)

outputEquation

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

出力方程式を表します。

定義:
インタフェース DynamicSystem 内の outputEquation
オーバーライド:
クラス BaseContinuousDynamicSystem 内の outputEquation
パラメータ:
t - 時刻
x - 状態
戻り値:
出力
関連項目:
DynamicSystem.outputEquation(double, org.mklab.nfc.matrix.Matrix)

getLinearSystem

public LinearSystem getLinearSystem()
クラス SystemOperator の記述:
線形システムの場合、線形システムの式を返します。

定義:
インタフェース LinearSystemOperator 内の getLinearSystem
オーバーライド:
クラス SystemOperator 内の getLinearSystem
戻り値:
線形システムの式
関連項目:
SystemOperator.getLinearSystem()

setLinearSystem

public void setLinearSystem(LinearSystem system)
インタフェース LinearSystemOperator の記述:
線形システムを設定します。

入力数、出力数、状態数は、自動的に設定されませんので、別途設定をして下さい。

定義:
インタフェース LinearSystemOperator 内の setLinearSystem
パラメータ:
system - 線形システムのデータ
関連項目:
LinearSystemOperator.setLinearSystem(org.mklab.tool.control.LinearSystem)

hasVariableA

public boolean hasVariableA()
インタフェース LinearSystemOperator の記述:
A行列を変数として扱うか判定します。

定義:
インタフェース LinearSystemOperator 内の hasVariableA
戻り値:
A行列を変数として扱うならばtrue、そうでなければfalse
関連項目:
LinearSystemOperator.hasVariableA()

hasVariableB

public boolean hasVariableB()
インタフェース LinearSystemOperator の記述:
B行列を変数として扱うか判定します。

定義:
インタフェース LinearSystemOperator 内の hasVariableB
戻り値:
B行列を変数として扱うならばtrue、そうでなければfalse
関連項目:
LinearSystemOperator.hasVariableB()

hasVariableC

public boolean hasVariableC()
インタフェース LinearSystemOperator の記述:
C行列を変数として扱うか判定します。

定義:
インタフェース LinearSystemOperator 内の hasVariableC
戻り値:
C行列を変数として扱うならばtrue、そうでなければfalse
関連項目:
LinearSystemOperator.hasVariableC()

hasVariableD

public boolean hasVariableD()
インタフェース LinearSystemOperator の記述:
D行列を変数として扱うか判定します。

定義:
インタフェース LinearSystemOperator 内の hasVariableD
戻り値:
D行列を変数として扱うならばtrue、そうでなければfalse
関連項目:
LinearSystemOperator.hasVariableD()

setHasVariableA

public void setHasVariableA(boolean hasVariableA)
インタフェース LinearSystemOperator の記述:
A行列を変数として扱うか設定します。

定義:
インタフェース LinearSystemOperator 内の setHasVariableA
パラメータ:
hasVariableA - A行列を変数として扱うならばtrue、そうでなければfalse
関連項目:
LinearSystemOperator.setHasVariableA(boolean)

setHasVariableB

public void setHasVariableB(boolean hasVariableB)
インタフェース LinearSystemOperator の記述:
B行列を変数として扱うか設定します。

定義:
インタフェース LinearSystemOperator 内の setHasVariableB
パラメータ:
hasVariableB - B行列を変数として扱うならばtrue、そうでなければfalse
関連項目:
LinearSystemOperator.setHasVariableB(boolean)

setHasVariableC

public void setHasVariableC(boolean hasVariableC)
インタフェース LinearSystemOperator の記述:
C行列を変数として扱うか設定します。

定義:
インタフェース LinearSystemOperator 内の setHasVariableC
パラメータ:
hasVariableC - C行列を変数として扱うならばtrue、そうでなければfalse
関連項目:
LinearSystemOperator.setHasVariableC(boolean)

setHasVariableD

public void setHasVariableD(boolean hasVariableD)
インタフェース LinearSystemOperator の記述:
D行列を変数として扱うか設定します。

定義:
インタフェース LinearSystemOperator 内の setHasVariableD
パラメータ:
hasVariableD - D行列を変数として扱うならばtrue、そうでなければfalse
関連項目:
LinearSystemOperator.setHasVariableD(boolean)

getA

public Matrix getA()
インタフェース LinearSystemOperator の記述:
システム行列Aを返します。

定義:
インタフェース LinearSystemOperator 内の getA
戻り値:
システム行列A
関連項目:
LinearSystemOperator.getA()

getB

public Matrix getB()
インタフェース LinearSystemOperator の記述:
入力行列Bを返します。

定義:
インタフェース LinearSystemOperator 内の getB
戻り値:
入力行列B
関連項目:
LinearSystemOperator.getB()

getC

public Matrix getC()
インタフェース LinearSystemOperator の記述:
出力行列Cを返します。

定義:
インタフェース LinearSystemOperator 内の getC
戻り値:
出力行列C
関連項目:
LinearSystemOperator.getC()

getD

public Matrix getD()
インタフェース LinearSystemOperator の記述:
ゲイン行列Dを返します。

定義:
インタフェース LinearSystemOperator 内の getD
戻り値:
ゲイン行列D
関連項目:
LinearSystemOperator.getD()

add

public ContinuousLinearDynamicSystem add(LinearSystemOperator opponent)
インタフェース LinearSystemOperator の記述:
二つのシステムの和(並列結合)システムを求めます。

生成されるシステムを簡単化します。

定義:
インタフェース LinearSystemOperator 内の add
パラメータ:
opponent - 加えるシステム
戻り値:
並列結合システム
関連項目:
LinearSystemOperator.add(org.mklab.tool.control.system.LinearSystemOperator)

add

public ContinuousLinearDynamicSystem add(LinearSystemOperator opponent,
                                         boolean simplify)
インタフェース LinearSystemOperator の記述:
二つのシステムの和(並列結合)システムを求めます。

定義:
インタフェース LinearSystemOperator 内の add
パラメータ:
opponent - 加えるシステム
simplify - 生成されるシステムを簡単化するならばtrue、そうでなければfalse
戻り値:
並列結合システム
関連項目:
LinearSystemOperator.add(org.mklab.tool.control.system.LinearSystemOperator, boolean)

subtract

public ContinuousLinearDynamicSystem subtract(LinearSystemOperator opponent)
インタフェース LinearSystemOperator の記述:
二つのシステムの差(並列結合)システムを求めます。

生成されるシステムを簡単化します。

定義:
インタフェース LinearSystemOperator 内の subtract
パラメータ:
opponent - 引くシステム
戻り値:
並列結合システム
関連項目:
LinearSystemOperator.subtract(org.mklab.tool.control.system.LinearSystemOperator)

subtract

public ContinuousLinearDynamicSystem subtract(LinearSystemOperator opponent,
                                              boolean simplify)
インタフェース LinearSystemOperator の記述:
二つのシステムの差(並列結合)システムを求めます。

定義:
インタフェース LinearSystemOperator 内の subtract
パラメータ:
opponent - 引くシステム
simplify - 生成されるシステムを簡単化するならばtrue、そうでなければfalse
戻り値:
並列結合システム
関連項目:
LinearSystemOperator.subtract(org.mklab.tool.control.system.LinearSystemOperator, boolean)

multiply

public ContinuousLinearDynamicSystem multiply(LinearSystemOperator opponent)
インタフェース LinearSystemOperator の記述:
二つのシステムの積(直列結合)システムを求めます。

生成されるシステムを簡単化します。

定義:
インタフェース LinearSystemOperator 内の multiply
パラメータ:
opponent - 掛けられるシステム
戻り値:
直列結合システム
関連項目:
LinearSystemOperator.multiply(org.mklab.tool.control.system.LinearSystemOperator)

multiply

public ContinuousLinearDynamicSystem multiply(LinearSystemOperator opponent,
                                              boolean simplify)
インタフェース LinearSystemOperator の記述:
二つのシステムの積(直列結合)システムを求めます。

生成されるシステムを簡単化します。

定義:
インタフェース LinearSystemOperator 内の multiply
パラメータ:
opponent - 掛けられるシステム
simplify - 生成されるシステムを簡単化するならばtrue、そうでなければfalse
戻り値:
直列結合システム
関連項目:
LinearSystemOperator.multiply(org.mklab.tool.control.system.LinearSystemOperator, boolean)

feedback

public ContinuousLinearDynamicSystem feedback(LinearSystemOperator feedbackElement)
インタフェース LinearSystemOperator の記述:
二つのシステムを(ネガティブ)フィードバック結合したシステムを求めます。

生成されるシステムを簡単化します。

定義:
インタフェース LinearSystemOperator 内の feedback
パラメータ:
feedbackElement - フィードバック要素のシステム
戻り値:
フィードバック結合システム
関連項目:
LinearSystemOperator.feedback(org.mklab.tool.control.system.LinearSystemOperator)

feedback

public ContinuousLinearDynamicSystem feedback(LinearSystemOperator feedbackElement,
                                              boolean negative)
インタフェース LinearSystemOperator の記述:
二つのシステムをフィードバック結合したシステムを求めます。

生成されるシステムを簡単化します。

定義:
インタフェース LinearSystemOperator 内の feedback
パラメータ:
feedbackElement - フィードバック要素のシステム
negative - ネガティブフィードバックならばtrue、そうでなければfalse
戻り値:
フィードバック結合システム
関連項目:
LinearSystemOperator.feedback(org.mklab.tool.control.system.LinearSystemOperator, boolean)

feedback

public ContinuousLinearDynamicSystem feedback(LinearSystemOperator feedbackElement,
                                              boolean negative,
                                              boolean simplify)
インタフェース LinearSystemOperator の記述:
二つのシステムをフィードバック結合したシステムを求めます。

定義:
インタフェース LinearSystemOperator 内の feedback
パラメータ:
feedbackElement - フィードバック要素のシステム
negative - ネガティブフィードバックならばtrue、そうでなければfalse
simplify - 生成されるシステムを簡単化するならばtrue、そうでなければfalse
戻り値:
フィードバック結合システム
関連項目:
LinearSystemOperator.feedback(org.mklab.tool.control.system.LinearSystemOperator, boolean, boolean)

unaryMinus

public ContinuousLinearDynamicSystem unaryMinus()
インタフェース LinearSystemOperator の記述:
出力の符合を反転したシステムを求めます。

定義:
インタフェース LinearSystemOperator 内の unaryMinus
戻り値:
出力の符合を反転したシステム
関連項目:
LinearSystemOperator.unaryMinus()

unityFeedback

public ContinuousLinearDynamicSystem unityFeedback()
インタフェース LinearSystemOperator の記述:
(ネガティブ)単一フィードバック結合したシステムを求めます。

生成されるシステムを簡単化します。

定義:
インタフェース LinearSystemOperator 内の unityFeedback
戻り値:
(ネガティブ)単一フィードバック結合システム
関連項目:
LinearSystemOperator.unityFeedback()

unityFeedback

public ContinuousLinearDynamicSystem unityFeedback(boolean negative)
インタフェース LinearSystemOperator の記述:
単一フィードバック結合したシステムを求めます。

生成されるシステムを簡単化します。

定義:
インタフェース LinearSystemOperator 内の unityFeedback
パラメータ:
negative - ネガティブフィードバックならばtrue、そうでなければfalse
戻り値:
(ネガティブ)単一フィードバック結合システム
関連項目:
LinearSystemOperator.unityFeedback(boolean)

unityFeedback

public ContinuousLinearDynamicSystem unityFeedback(boolean negative,
                                                   boolean simplify)
インタフェース LinearSystemOperator の記述:
単一フィードバック結合したシステムを求めます。

定義:
インタフェース LinearSystemOperator 内の unityFeedback
パラメータ:
negative - ネガティブフィードバックならばtrue、そうでなければfalse
simplify - 生成されるシステムを簡単化するならばtrue、そうでなければfalse
戻り値:
(ネガティブ)単一フィードバック結合システム
関連項目:
LinearSystemOperator.unityFeedback(boolean, boolean)

getTag

public String getTag()
インタフェース LinearSystemOperator の記述:
識別するためのタグを返します。

定義:
インタフェース LinearSystemOperator 内の getTag
戻り値:
識別するためのタグ
関連項目:
LinearSystemOperator.getTag()

setTag

public void setTag(String tag)
インタフェース LinearSystemOperator の記述:
識別するためのタグを設定します。

定義:
インタフェース LinearSystemOperator 内の setTag
パラメータ:
tag - タグ
関連項目:
LinearSystemOperator.setTag(java.lang.String)

equals

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

hashCode

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

clone

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

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

setTransferFunction

public void setTransferFunction(boolean isTransferFunction)
伝達関数から作成されたかどうかを設定します.

数式伝達関数や最小要素数式のために,伝達関数表現の最小数式にするか定数行列の最小数式にするかを判断する一時的な手段です

パラメータ:
isTransferFunction - 伝達関数から作成されたならばtrue,そうでなければfalse

isTransferFuntion

public boolean isTransferFuntion()
伝達関数から作成されたかどうかを返します.

数式伝達関数や最小要素数式のために,伝達関数表現の最小数式にするか定数行列の最小数式にするかを判断する一時的な手段です

戻り値:
伝達関数から作成されたならばtrue,そうでなければfalse