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

## org.mklab.tool.control.system.discrete
クラス BaseDiscreteDynamicSystem

    java.lang.Object
      org.mklab.tool.control.system.SystemOperator
          org.mklab.tool.control.system.discrete.BaseDiscreteDynamicSystem

すべての実装されたインタフェース:
  Cloneable, ArrayElement<SystemOperator>, GridElement<SystemOperator>, DifferenceSystem, Sampling, DiscreteDynamicSystem, DynamicSystem, Sampler

直系の既知のサブクラス:
  DiscreteLinearDynamicSystem, UserDefinedDiscreteDynamicSystem

    public abstract class BaseDiscreteDynamicSystem

extends SystemOperator
implements DiscreteDynamicSystem, Sampler

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

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

コンストラクタの概要
`BaseDiscreteDynamicSystem(int inputSize, int outputSize, int stateSize)` 新しく生成された`BaseDiscreteDynamicSystem`オブジェクトを初期化します。

メソッドの概要
`Matrix` | `differenceEquation(double t, Matrix x, Matrix inputOutput)` 時刻`t`、状態`x`、外部信号(入力と出力)`inputOutput`から ステップ`(t/T+1)`の状態を返します。
`Matrix` | `differenceEquation(int k, Matrix x, Matrix inputOutput)` ステップ`k`、状態`x`、外部信号(入力と出力)`inputOutput`から ステップ`(k+1)`の状態を返します。
`boolean` | `equals(Object o)`
`Matrix` | `getInitialState()` 初期状態を返します。
`double` | `getNextSamplingTime(double t, double tolerance)` 次のサンプリング点の時間を返します。
`double` | `getSamplingInterval()` サンプリング周期を返します。
`Matrix` | `getState()` 現在の状態を返します。
`int` | `getStateNumber()` 結合システムにおける状態の順番を返します。
`int` | `hashCode()`
`void` | `initialize()` 状態などの初期化を行います。
`Matrix` | `inputOutputEquation(double t, Matrix x)` 時刻`t`と状態`x`から外部信号(入力と出力)を返します。
`Matrix` | `inputOutputEquation(int k, Matrix x)` ステップ`k`と状態`x`から外部信号(入力と出力)を返します。
`boolean` | `isAtSamplingPoint()` サンプリング点であるか判定します。
`Matrix` | `outputEquation(double t, Matrix x)` 直達項をもたないシステムの出力を返します。
`Matrix` | `outputEquation(double t, Matrix x, Matrix u)` 直達項をもつシステムの出力を返します。
`Matrix` | `outputEquation(int k, Matrix x)` 直達項をもたないシステムの出力を返します。
`Matrix` | `outputEquation(int k, Matrix x, Matrix u)` 直達項をもつシステムの出力を返します。
`void` | `setAtSamplingPoint(boolean samplingPoint)` サンプル点であるかを設定します。
`void` | `setInitialState(Matrix initialState)` 初期状態を設定します。
`void` | `setSamplingInterval(double interval)` サンプリング周期を設定します。
`void` | `setState(Matrix state)` 現在の状態の設定します。
`void` | `setStateNumber(int stateNumber)` 結合システムにおける状態の順番を設定します。
`Matrix` | `stateEquation(double t, Matrix xd, Matrix inputOutput)` `(t/T+1)`ステップの状態を返します。

クラス org.mklab.tool.control.system.SystemOperator から継承されたメソッド
`clone, 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`

インタフェース org.mklab.tool.control.system.discrete.DiscreteDynamicSystem から継承されたメソッド
`stateEquation`

コンストラクタの詳細

### BaseDiscreteDynamicSystem

    public BaseDiscreteDynamicSystem(int inputSize,
                                     int outputSize,
                                     int stateSize)

  新しく生成された`BaseDiscreteDynamicSystem`オブジェクトを初期化します。

  パラメータ:
    `inputSize` - 入力の数
    `outputSize` - 出力の数
    `stateSize` - 状態の数

メソッドの詳細

### initialize

    public void initialize()

  クラス `SystemOperator` の記述:
  状態などの初期化を行います。

  定義:
    クラス `SystemOperator` 内の `initialize`
  関連項目:
    `SystemOperator.initialize()`

### setInitialState

    public void setInitialState(Matrix initialState)

  初期状態を設定します。

  定義:
    インタフェース `DynamicSystem` 内の `setInitialState`
  パラメータ:
    `initialState` - 初期状態

### getInitialState

    public Matrix getInitialState()

  初期状態を返します。

  定義:
    インタフェース `DynamicSystem` 内の `getInitialState`
  戻り値:
    初期状態

### getState

    public Matrix getState()

  現在の状態を返します。

  定義:
    インタフェース `DynamicSystem` 内の `getState`
  戻り値:
    現在の状態

### setState

    public void setState(Matrix state)

  現在の状態の設定します。

  定義:
    インタフェース `DynamicSystem` 内の `setState`
  パラメータ:
    `state` - 現在の状態

### differenceEquation

    public Matrix differenceEquation(int k,
                                     Matrix x,
                                     Matrix inputOutput)
                              throws SolverStopException

  インタフェース `DifferenceSystem` の記述:
  ステップ`k`、状態`x`、外部信号(入力と出力)`inputOutput`から ステップ`(k+1)`の状態を返します。

  定義:
    インタフェース `DifferenceSystem` 内の `differenceEquation`
  パラメータ:
    `k` - ステップ
    `x` - ステップkにおける状態
    `inputOutput` - ステップkにおける外部信号(入力と出力)
  戻り値:
    ステップ(k+1)における状態
  例外:
    `SolverStopException` - ソルバーが停止された場合
  関連項目:
    `DifferenceSystem.differenceEquation(int, org.mklab.nfc.matrix.Matrix, org.mklab.nfc.matrix.Matrix)`

### differenceEquation

    public Matrix differenceEquation(double t,
                                     Matrix x,
                                     Matrix inputOutput)
                              throws SolverStopException

  インタフェース `DifferenceSystem` の記述:
  時刻`t`、状態`x`、外部信号(入力と出力)`inputOutput`から ステップ`(t/T+1)`の状態を返します。

  ただし、`T`はサンプリング周期です。

  定義:
    インタフェース `DifferenceSystem` 内の `differenceEquation`
  パラメータ:
    `t` - 時刻
    `x` - 時刻 t における状態
    `inputOutput` - 時刻 t における外部信号(入力と出力)
  戻り値:
    ステップ(t/T+1)における状態
  例外:
    `SolverStopException` - ソルバーが停止された場合
  関連項目:
    `DifferenceSystem.differenceEquation(double, org.mklab.nfc.matrix.Matrix, org.mklab.nfc.matrix.Matrix)`

### inputOutputEquation

    public Matrix inputOutputEquation(int k,
                                      Matrix x)
                               throws SolverStopException

  インタフェース `DifferenceSystem` の記述:
  ステップ`k`と状態`x`から外部信号(入力と出力)を返します。

  定義:
    インタフェース `DifferenceSystem` 内の `inputOutputEquation`
  パラメータ:
    `k` - ステップ
    `x` - ステップkにおける状態
  戻り値:
    ステップkにおける外部信号(入力と出力)
  例外:
    `SolverStopException` - ソルバーが停止された場合
  関連項目:
    `DifferenceSystem.inputOutputEquation(int, org.mklab.nfc.matrix.Matrix)`

### inputOutputEquation

    public Matrix inputOutputEquation(double t,
                                      Matrix x)
                               throws SolverStopException

  インタフェース `DifferenceSystem` の記述:
  時刻`t`と状態`x`から外部信号(入力と出力)を返します。

  定義:
    インタフェース `DifferenceSystem` 内の `inputOutputEquation`
  パラメータ:
    `t` - 時刻
    `x` - 時刻kにおける状態
  戻り値:
    時刻kにおける外部信号(入力と出力)
  例外:
    `SolverStopException` - ソルバーが停止された場合
  関連項目:
    `DifferenceSystem.inputOutputEquation(double, org.mklab.nfc.matrix.Matrix)`

### outputEquation

    public Matrix outputEquation(int k,
                                 Matrix x,
                                 Matrix u)
                          throws SolverStopException

  インタフェース `DiscreteDynamicSystem` の記述:
  直達項をもつシステムの出力を返します。

  出力方程式を表します。

  定義:
    インタフェース `DiscreteDynamicSystem` 内の `outputEquation`
  パラメータ:
    `k` - ステップ
    `x` - 状態
    `u` - 入力
  戻り値:
    出力
  例外:
    `SolverStopException` - ソルバーが停止された場合
  関連項目:
    `DiscreteDynamicSystem.outputEquation(int, org.mklab.nfc.matrix.Matrix, org.mklab.nfc.matrix.Matrix)`

### outputEquation

    public Matrix outputEquation(double t,
                                 Matrix x,
                                 Matrix u)
                          throws SolverStopException

  インタフェース `DynamicSystem` の記述:
  直達項をもつシステムの出力を返します。

  出力方程式を表します。

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

### outputEquation

    public Matrix outputEquation(int k,
                                 Matrix x)
                          throws SolverStopException

  インタフェース `DiscreteDynamicSystem` の記述:
  直達項をもたないシステムの出力を返します。

  出力方程式を表します。

  定義:
    インタフェース `DiscreteDynamicSystem` 内の `outputEquation`
  パラメータ:
    `k` - ステップ
    `x` - 状態
  戻り値:
    出力
  例外:
    `SolverStopException` - ソルバーが停止された場合
  関連項目:
    `DiscreteDynamicSystem.outputEquation(int, org.mklab.nfc.matrix.Matrix)`

### outputEquation

    public Matrix outputEquation(double t,
                                 Matrix x)
                          throws SolverStopException

  インタフェース `DynamicSystem` の記述:
  直達項をもたないシステムの出力を返します。

  出力方程式を表します。

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

### getSamplingInterval

    public double getSamplingInterval()

  インタフェース `Sampler` の記述:
  サンプリング周期を返します。

  定義:
    インタフェース `Sampler` 内の `getSamplingInterval`
  戻り値:
    サンプリング周期
  関連項目:
    `Sampler.getSamplingInterval()`

### setSamplingInterval

    public void setSamplingInterval(double interval)

  インタフェース `Sampler` の記述:
  サンプリング周期を設定します。

  定義:
    インタフェース `Sampler` 内の `setSamplingInterval`
  パラメータ:
    `interval` - サンプリング周期
  関連項目:
    `Sampler.setSamplingInterval(double)`

### isAtSamplingPoint

    public boolean isAtSamplingPoint()

  インタフェース `Sampling` の記述:
  サンプリング点であるか判定します。

  定義:
    インタフェース `Sampling` 内の `isAtSamplingPoint`
  戻り値:
    サンプリング点ならばtrue、そうでなければfalse
  関連項目:
    `Sampling.isAtSamplingPoint()`

### setAtSamplingPoint

    public void setAtSamplingPoint(boolean samplingPoint)

  インタフェース `Sampling` の記述:
  サンプル点であるかを設定します。

  定義:
    インタフェース `Sampling` 内の `setAtSamplingPoint`
  パラメータ:
    `samplingPoint` - サンプル点ならばtrue、そうでなければfalse
  関連項目:
    `Sampling.setAtSamplingPoint(boolean)`

### getNextSamplingTime

    public double getNextSamplingTime(double t,
                                      double tolerance)

  インタフェース `Sampling` の記述:
  次のサンプリング点の時間を返します。

  定義:
    インタフェース `Sampling` 内の `getNextSamplingTime`
  パラメータ:
    `t` - 現在の時間
    `tolerance` - 許容誤差
  戻り値:
    次のサンプリング点の時間
  関連項目:
    `Sampling.getNextSamplingTime(double, double)`

### stateEquation

    public Matrix stateEquation(double t,
                                Matrix xd,
                                Matrix inputOutput)
                         throws SolverStopException

  インタフェース `DiscreteDynamicSystem` の記述:
  `(t/T+1)`ステップの状態を返します。

  ただし、`T`はサンプリング周期です。

  状態方程式を表します。

  定義:
    インタフェース `DiscreteDynamicSystem` 内の `stateEquation`
  パラメータ:
    `t` - 時刻
    `xd` - 状態
    `inputOutput` - 入力
  戻り値:
    (k+1)ステップの状態
  例外:
    `SolverStopException` - ソルバーが停止された場合
  関連項目:
    `DiscreteDynamicSystem.stateEquation(double, org.mklab.nfc.matrix.Matrix, org.mklab.nfc.matrix.Matrix)`

### hashCode

    public int hashCode()

  オーバーライド:
    クラス `SystemOperator` 内の `hashCode`
  関連項目:
    `SystemOperator.hashCode()`

### equals

    public boolean equals(Object o)

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

### getStateNumber

    public int getStateNumber()

  インタフェース `DynamicSystem` の記述:
  結合システムにおける状態の順番を返します。

  定義:
    インタフェース `DynamicSystem` 内の `getStateNumber`
  戻り値:
    結合システムにおける状態の順番
  関連項目:
    `DynamicSystem.getStateNumber()`

### setStateNumber

    public void setStateNumber(int stateNumber)

  インタフェース `DynamicSystem` の記述:
  結合システムにおける状態の順番を設定します。

  定義:
    インタフェース `DynamicSystem` 内の `setStateNumber`
  パラメータ:
    `stateNumber` - 結合システムにおける状態の順番
  関連項目:
    `DynamicSystem.setStateNumber(int)`

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