概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## 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)`

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド