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

java.lang.Object
  上位を拡張 org.mklab.tool.control.system.SystemOperator
      上位を拡張 org.mklab.tool.control.system.discrete.BaseDiscreteDynamicSystem
          上位を拡張 org.mklab.tool.control.system.discrete.DiscreteLinearDynamicSystem
すべての実装されたインタフェース:
Cloneable, ArrayElement<SystemOperator>, GridElement<SystemOperator>, DifferenceSystem, Sampling, DiscreteDynamicSystem, DynamicSystem, LinearSystemOperator, Sampler
直系の既知のサブクラス:
DiscreteObserver, UnitDelaySystem, UserDefinedDiscreteLinearDynamicSystem

public class DiscreteLinearDynamicSystem
extends BaseDiscreteDynamicSystem
implements LinearSystemOperator

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

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

コンストラクタの概要
DiscreteLinearDynamicSystem()
          新しく生成されたDiscreteLinearDynamicSystemオブジェクトを初期化します。
DiscreteLinearDynamicSystem(LinearSystem system)
          新しく生成されたDiscreteLinearDynamicSystemオブジェクトを初期化します。
DiscreteLinearDynamicSystem(Matrix A, Matrix B, Matrix C)
          新しく生成されたDiscreteLinearDynamicSystemオブジェクトを初期化します。
DiscreteLinearDynamicSystem(Matrix A, Matrix B, Matrix C, Matrix D)
          新しく生成されたDiscreteLinearDynamicSystemオブジェクトを初期化します。
 
メソッドの概要
 LinearSystemOperator add(LinearSystemOperator opponent)
          二つのシステムの和(並列結合)システムを求めます。
 LinearSystemOperator add(LinearSystemOperator opponent, boolean simplify)
          二つのシステムの和(並列結合)システムを求めます。
 boolean equals(Object o)
           
 LinearSystemOperator feedback(LinearSystemOperator feedbackElement)
          二つのシステムを(ネガティブ)フィードバック結合したシステムを求めます。
 LinearSystemOperator feedback(LinearSystemOperator feedbackElement, boolean negative)
          二つのシステムをフィードバック結合したシステムを求めます。
 LinearSystemOperator 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行列を変数として扱うか判定します。
 LinearSystemOperator multiply(LinearSystemOperator opponent)
          二つのシステムの積(直列結合)システムを求めます。
 LinearSystemOperator multiply(LinearSystemOperator opponent, boolean simplify)
          二つのシステムの積(直列結合)システムを求めます。
 Matrix outputEquation(int k, Matrix x)
          直達項をもたないシステムの出力を返します。
 Matrix outputEquation(int k, 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)
          識別するためのタグを設定します。
 Matrix stateEquation(int k, Matrix x, Matrix u)
          (k+1)ステップの状態を返します。
 LinearSystemOperator subtract(LinearSystemOperator opponent)
          二つのシステムの差(並列結合)システムを求めます。
 LinearSystemOperator subtract(LinearSystemOperator opponent, boolean simplify)
          二つのシステムの差(並列結合)システムを求めます。
 LinearSystemOperator unaryMinus()
          出力の符合を反転したシステムを求めます。
 LinearSystemOperator unityFeedback()
          (ネガティブ)単一フィードバック結合したシステムを求めます。
 LinearSystemOperator unityFeedback(boolean negative)
          単一フィードバック結合したシステムを求めます。
 LinearSystemOperator unityFeedback(boolean negative, boolean simplify)
          単一フィードバック結合したシステムを求めます。
 
クラス org.mklab.tool.control.system.discrete.BaseDiscreteDynamicSystem から継承されたメソッド
differenceEquation, differenceEquation, getInitialState, getNextSamplingTime, getSamplingInterval, getState, getStateNumber, initialize, inputOutputEquation, inputOutputEquation, isAtSamplingPoint, outputEquation, outputEquation, setAtSamplingPoint, setInitialState, setSamplingInterval, setState, setStateNumber, stateEquation
 
クラス org.mklab.tool.control.system.SystemOperator から継承されたメソッド
clone, 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
 

コンストラクタの詳細

DiscreteLinearDynamicSystem

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


DiscreteLinearDynamicSystem

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

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

DiscreteLinearDynamicSystem

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

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

DiscreteLinearDynamicSystem

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

Dは、零行列です。

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

stateEquation

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

状態方程式を表します。

定義:
インタフェース DiscreteDynamicSystem 内の stateEquation
パラメータ:
k - ステップ
x - 状態
u - 入力
戻り値:
(k+1)ステップの状態
関連項目:
DiscreteDynamicSystem.stateEquation(int, org.mklab.nfc.matrix.Matrix, org.mklab.nfc.matrix.Matrix)

outputEquation

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

出力方程式を表します。

定義:
インタフェース DiscreteDynamicSystem 内の outputEquation
オーバーライド:
クラス BaseDiscreteDynamicSystem 内の outputEquation
パラメータ:
k - ステップ
x - 状態
u - 入力
戻り値:
出力
関連項目:
DiscreteDynamicSystem.outputEquation(int, org.mklab.nfc.matrix.Matrix, org.mklab.nfc.matrix.Matrix)

outputEquation

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

出力方程式を表します。

定義:
インタフェース DiscreteDynamicSystem 内の outputEquation
オーバーライド:
クラス BaseDiscreteDynamicSystem 内の outputEquation
パラメータ:
k - ステップ
x - 状態
戻り値:
出力
関連項目:
DiscreteDynamicSystem.outputEquation(int, 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 LinearSystemOperator add(LinearSystemOperator opponent)
インタフェース LinearSystemOperator の記述:
二つのシステムの和(並列結合)システムを求めます。

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

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

add

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

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

subtract

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

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

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

subtract

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

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

multiply

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

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

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

multiply

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

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

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

feedback

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

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

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

feedback

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

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

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

feedback

public LinearSystemOperator 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 LinearSystemOperator unaryMinus()
インタフェース LinearSystemOperator の記述:
出力の符合を反転したシステムを求めます。

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

unityFeedback

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

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

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

unityFeedback

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

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

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

unityFeedback

public LinearSystemOperator 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)

hashCode

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

equals

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