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

## org.mklab.tool.control.system
クラス ControlSystem

    java.lang.Object
      org.mklab.tool.control.system.ControlSystem

    public class ControlSystem

extends Object

制御システムを表わすクラスです。

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

コンストラクタの概要
`ControlSystem(AdjacencyMatrix matrix)` 新しく生成された`ControlSystem`オブジェクトを初期化します。
`ControlSystem(AdjacencyMatrix matrix, ControlSystemOption option)` 新しく生成された`ControlSystem`オブジェクトを初期化します。
`ControlSystem(AdjacencyMatrix matrix, List<Integer> inputNodes, List<Integer> outputNodes)` 新しく生成された`ControlSystem`オブジェクトを初期化します。
`ControlSystem(AdjacencyMatrix matrix, List<Integer> inputNodes, List<Integer> outputNodes, ControlSystemOption option)` 新しく生成された`ControlSystem`オブジェクトを初期化します。
`ControlSystem(AdjacencyMatrix matrix, List<Integer> inputNodes, List<Integer> outputNodes, List<Integer> sourceNodes, List<Integer> sinkNodes, ControlSystemOption option)` 新しく生成された`ControlSystem`オブジェクトを初期化します。
`ControlSystem(AdjacencyStringMatrix stringMatrix)` 新しく生成された`ControlSystem`オブジェクトを初期化します。
`ControlSystem(AdjacencyStringMatrix stringMatrix, ControlSystemOption option)` 新しく生成された`ControlSystem`オブジェクトを初期化します。
`ControlSystem(SystemOperator system)` 新しく生成された`ControlSystem`オブジェクトを初期化します。

メソッドの概要
`ControlSystem` | `add(ControlSystem opponent)` システム`opponent`との和(並列結合)でできるシステムを返します。
`boolean` | `equals(Object opponent)`
`ControlSystem` | `feedback(ControlSystem feedbackElement)` (ネガティブ)フィードバック結合でできるシステムを返します。
`ControlSystem` | `feedback(ControlSystem feedbackElement, boolean negative)` フィードバック結合でできるシステムを返します。
`AdjacencyMatrix` | `getAdjacencyMatrix()` システムの隣接行列を返します。
`AdjacencyMatrix` | `getAllSystem(boolean requiringReachableSubSystem)` 入力ノードから出力ノードまでの隣接行列を返します。
`ContinuousAlgebraicSystem` | `getContinuousAlgebraicEquation()` システムを表す連続時間代数方程式システム(入出力方程式)を返します。
`ContinuousDiscreteAlgebraicSystem` | `getContinuousDiscreteAlgebraicEquation()` システムを表す連続・離散時間代数方程式システム(入出力方程式)を返します。
`Matrix` | `getContinuousInitialState()` 連続時間部分システムの初期状態を返します。
`Matrix` | `getContinuousState()` 連続時間部分システムの現在の状態を返します。
`DifferenceSystem` | `getDifferenceSystem()` システムを表す差分方程式システム(状態方程式、入出力方程式)を返します。
`DifferentialDifferenceSystem` | `getDifferentialDifferenceSystem()` システムを表す微分差分方程式システム(状態方程式、入出力方程式)を返します。
`DifferentialSystem` | `getDifferentialSystem()` システムを表す常微分方程式システム(状態方程式、入出力方程式)を返します。
`DiscreteAlgebraicSystem` | `getDiscreteAlgebraicEquation()` システムを表す離散時間代数方程式システム(入出力方程式)を返します。
`Matrix` | `getDiscreteInitialState()` 離散時間部分システムの初期状態を返します。
`Matrix` | `getDiscreteState()` 離散時間部分システムの現在の状態を返します。
`List<Exporter>` | `getExporters()` 出力器のリストを返します。
`List<Importer>` | `getImporters()` 入力器のリストを返します。
`Matrix` | `getInitialState()` 初期状態を返します。
`int` | `getInputSize()` 入力の数を返します。
`LinearSystem` | `getLinearSystem(boolean requiringReachableSubSystem)` 線形システムの式を返します。
`LinearSystem` | `getLinearSystemForMaxima(boolean requiringReachableSubSystem, ReversePolishNotationProcessor processor)` 線形システムの式を返します。
`LinearSystem` | `getLinearSystemWithExpression(boolean requiringReachableSubSystem, ReversePolishNotationProcessor processor)` 線形システムの式(数式も含む)を返します。
`int` | `getOutputSize()` 出力の数を返します。
`double` | `getSingleSamplingInterval()` 全てのシステムに共通するサンプリング周期を返します。
`Matrix` | `getState()` 現在の状態を返します。
`int` | `getStateSize()` 状態の数を返します。
`AdjacencyConstantMatrix` | `getSymbolicTransferFunction(boolean requiringReachableSubSystem)` 線形システムの式を返します。
`ControlSystem` | `getSystemForSimulation()` SourceブロックからSinkブロックまでのパスに存在する(シミュレーション計算用)システムを返します。
`SystemOperator` | `getSystemOperator()` システムオペレータを返します。
`boolean` | `hasDirectFeedthrough()` 直達項がある(出力が入力に直接依存する)か判定します。
`int` | `hashCode()`
`boolean` | `isAutoSize()` 自動的に入出力数を設定するか判定します。
`boolean` | `isContinuous()` 連続時間システムであるか判定します。
`boolean` | `isDiscrete()` 離散時間システムであるか判定します。
`boolean` | `isDynamic()` 動的システムであるか判定します。
`boolean` | `isLinear()` 線形システムであるか判定します。
`boolean` | `isSampledData()` サンプル値システムであるか判定します。
`boolean` | `isSingleRate()` 全てのシステムのサンプリング周期が一致するシステムであるか判定します。
`boolean` | `isSingleSystem()` 単一のシステム(結合システムでない)であるか判定します。
`boolean` | `isStatic()` 静的システムであるか判定します。
`ControlSystem` | `multiply(ControlSystem opponent)` システム`opponent`との積(直列結合)でできるシステムを返します。
`void` | `resetAutoSize()` 自動的に入出力数を設定するシステムの入出力数をリセットします。
`void` | `setAutoSize(boolean autoSize)` 自動的に入出力数を設定するか設定します。
`void` | `setInitialState(Matrix initialState)` 初期状態を設定します。
`void` | `setInputSize(int inputSize)` 入力の数を設定します。
`void` | `setOutputSize(int outputSize)` 出力の数を設定します。
`ControlSystem` | `subtract(ControlSystem opponent)` システム`opponent`との差(符合が異なる並列結合)でできるシステムを返します。
`String` | `toString()`
`ControlSystem` | `unaryMinus()` 符合を逆にしてできるシステムを返します。
`ControlSystem` | `unityFeedback()` 単一(ネガティブ)フィードバック結合でできるシステムを返します。
`ControlSystem` | `unityFeedback(boolean negative)` 単一フィードバック結合でできるシステムを返します。

クラス java.lang.Object から継承されたメソッド
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

コンストラクタの詳細

### ControlSystem

    public ControlSystem(SystemOperator system)

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

  パラメータ:
    `system` - システムオペレータ

### ControlSystem

    public ControlSystem(AdjacencyMatrix matrix)

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

  入力ノードの番号は1、出力ノードの番号は行列の次数となります。

  パラメータ:
    `matrix` - 隣接行列

### ControlSystem

    public ControlSystem(AdjacencyMatrix matrix,
                         List<Integer> inputNodes,
                         List<Integer> outputNodes)

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

  パラメータ:
    `matrix` - 隣接行列
    `inputNodes` - 入力ポートのノード番号のリスト(番号は1から始まります)
    `outputNodes` - 出力ポートのノード番号のリスト(番号は1から始まります)

### ControlSystem

    public ControlSystem(AdjacencyMatrix matrix,
                         ControlSystemOption option)

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

  入力ノードの番号は1、出力ノードの番号は行列の次数となります。

  パラメータ:
    `matrix` - 隣接行列
    `option` - オプション

### ControlSystem

    public ControlSystem(AdjacencyMatrix matrix,
                         List<Integer> inputNodes,
                         List<Integer> outputNodes,
                         ControlSystemOption option)

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

  パラメータ:
    `matrix` - 隣接行列
    `inputNodes` - 入力ポートのノード番号のリスト(番号は1から始まります)
    `outputNodes` - 出力ポートのノード番号のリスト(番号は1から始まります)
    `option` - オプション

### ControlSystem

    public ControlSystem(AdjacencyMatrix matrix,
                         List<Integer> inputNodes,
                         List<Integer> outputNodes,
                         List<Integer> sourceNodes,
                         List<Integer> sinkNodes,
                         ControlSystemOption option)

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

  パラメータ:
    `matrix` - 隣接行列
    `inputNodes` - 入力ポートのノード番号のリスト(番号は1から始まります)
    `outputNodes` - 出力ポートのノード番号のリスト(番号は1から始まります)
    `sourceNodes` - Sourceのノード番号のリスト(番号は1から始まります)
    `sinkNodes` - Sinkのノード番号のリスト(番号は1から始まります)
    `option` - オプション

### ControlSystem

    public ControlSystem(AdjacencyStringMatrix stringMatrix)

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

  パラメータ:
    `stringMatrix` - 隣接関係を保持する文字列行列

### ControlSystem

    public ControlSystem(AdjacencyStringMatrix stringMatrix,
                         ControlSystemOption option)

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

  パラメータ:
    `stringMatrix` - 隣接関係を保持する文字列行列
    `option` - オプション

メソッドの詳細

### getSystemForSimulation

    public ControlSystem getSystemForSimulation()

  SourceブロックからSinkブロックまでのパスに存在する(シミュレーション計算用)システムを返します。

  戻り値:
    SourceブロックからSinkブロックまでのパスに存在する(シミュレーション計算用)システム

### equals

    public boolean equals(Object opponent)

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

### hashCode

    public int hashCode()

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

### toString

    public String toString()

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

### getInputSize

    public int getInputSize()

  入力の数を返します。

  戻り値:
    入力の数

### setInputSize

    public void setInputSize(int inputSize)

  入力の数を設定します。

  パラメータ:
    `inputSize` - 入力の数

### getOutputSize

    public int getOutputSize()

  出力の数を返します。

  戻り値:
    出力の数

### setOutputSize

    public void setOutputSize(int outputSize)

  出力の数を設定します。

  パラメータ:
    `outputSize` - 出力の数

### getStateSize

    public int getStateSize()

  状態の数を返します。

  戻り値:
    状態の数

### isDynamic

    public boolean isDynamic()

  動的システムであるか判定します。

  戻り値:
    動的システムならばtrue、そうでなければfalse

### isStatic

    public boolean isStatic()

  静的システムであるか判定します。

  戻り値:
    静的システムならばtrue、そうでなければfalse

### isContinuous

    public boolean isContinuous()

  連続時間システムであるか判定します。

  戻り値:
    連続時間システムならばtrue、そうでなければfalse

### isDiscrete

    public boolean isDiscrete()

  離散時間システムであるか判定します。

  戻り値:
    離散時間システムならばtrue、そうでなければfalse

### isSingleRate

    public boolean isSingleRate()

  全てのシステムのサンプリング周期が一致するシステムであるか判定します。

  戻り値:
    全てのシステムのサンプリング周期が一致するシステムならばtrue、そうでなければfalse

### getSingleSamplingInterval

    public double getSingleSamplingInterval()

  全てのシステムに共通するサンプリング周期を返します。

  戻り値:
    全てのシステムに共通するサンプリング周期

### isSampledData

    public boolean isSampledData()

  サンプル値システムであるか判定します。

  戻り値:
    サンプル値システムならばtrue、そうでなければfalse

### isLinear

    public boolean isLinear()

  線形システムであるか判定します。

  戻り値:
    線形システムならばtrue、そうでなければfalse

### hasDirectFeedthrough

    public boolean hasDirectFeedthrough()

  直達項がある(出力が入力に直接依存する)か判定します。

  戻り値:
    直達項があれば(出力が入力に直接依存すれば)true、そうでなければfalse

### setInitialState

    public void setInitialState(Matrix initialState)

  初期状態を設定します。

  パラメータ:
    `initialState` - 初期状態

### getInitialState

    public Matrix getInitialState()

  初期状態を返します。

  戻り値:
    初期状態

### getContinuousInitialState

    public Matrix getContinuousInitialState()

  連続時間部分システムの初期状態を返します。

  戻り値:
    連続時間部分システムの初期状態

### getDiscreteInitialState

    public Matrix getDiscreteInitialState()

  離散時間部分システムの初期状態を返します。

  戻り値:
    離散時間部分システムの初期状態

### getState

    public Matrix getState()

  現在の状態を返します。

  戻り値:
    現在の状態

### getContinuousState

    public Matrix getContinuousState()

  連続時間部分システムの現在の状態を返します。

  戻り値:
    連続時間部分システムの現在の状態

### getDiscreteState

    public Matrix getDiscreteState()

  離散時間部分システムの現在の状態を返します。

  戻り値:
    離散時間部分システムの現在の状態

### subtract

    public ControlSystem subtract(ControlSystem opponent)

  システム`opponent`との差(符合が異なる並列結合)でできるシステムを返します。

  パラメータ:
    `opponent` - 結合するシステム(引くシステム)
  戻り値:
    結合システム(this - opponent)

### multiply

    public ControlSystem multiply(ControlSystem opponent)

  システム`opponent`との積(直列結合)でできるシステムを返します。

  ---> opponent ---> this --->

  パラメータ:
    `opponent` - 結合するシステム(入力側に掛けるシステム)
  戻り値:
    結合システム (this * opponent)

### unaryMinus

    public ControlSystem unaryMinus()

  符合を逆にしてできるシステムを返します。

  戻り値:
    符合を逆にしてできるシステム

### unityFeedback

    public ControlSystem unityFeedback()

  単一(ネガティブ)フィードバック結合でできるシステムを返します。

  戻り値:
    閉ループシステム

### unityFeedback

    public ControlSystem unityFeedback(boolean negative)

  単一フィードバック結合でできるシステムを返します。

  パラメータ:
    `negative` - true: ネガティブフィードバック, false: ポジティブフィードバック
  戻り値:
    閉ループシステム

### feedback

    public ControlSystem feedback(ControlSystem feedbackElement)

  (ネガティブ)フィードバック結合でできるシステムを返します。

  パラメータ:
    `feedbackElement` - フィードバック結合するシステム
  戻り値:
    閉ループシステム

### feedback

    public ControlSystem feedback(ControlSystem feedbackElement,
                                  boolean negative)

  フィードバック結合でできるシステムを返します。

  パラメータ:
    `feedbackElement` - フィードバック結合するシステム
    `negative` - true: ネガティブフィードバック, false: ポジティブフィードバック
  戻り値:
    閉ループシステム

### getDifferentialSystem

    public DifferentialSystem getDifferentialSystem()

  システムを表す常微分方程式システム(状態方程式、入出力方程式)を返します。

  戻り値:
    システムを表す常微分方程式システム(状態方程式、入出力方程式)

### getContinuousAlgebraicEquation

    public ContinuousAlgebraicSystem getContinuousAlgebraicEquation()

  システムを表す連続時間代数方程式システム(入出力方程式)を返します。

  戻り値:
    システムを表す連続時間代数方程式システム(入出力方程式)

### getContinuousDiscreteAlgebraicEquation

    public ContinuousDiscreteAlgebraicSystem getContinuousDiscreteAlgebraicEquation()

  システムを表す連続・離散時間代数方程式システム(入出力方程式)を返します。

  戻り値:
    システムを表す連続・離散時間代数方程式システム(入出力方程式)

### getDiscreteAlgebraicEquation

    public DiscreteAlgebraicSystem getDiscreteAlgebraicEquation()

  システムを表す離散時間代数方程式システム(入出力方程式)を返します。

  戻り値:
    システムを表す離散時間代数方程式システム(入出力方程式)

### getDifferenceSystem

    public DifferenceSystem getDifferenceSystem()

  システムを表す差分方程式システム(状態方程式、入出力方程式)を返します。

  戻り値:
    システムを表す差分方程式システム(状態方程式、入出力方程式)

### getDifferentialDifferenceSystem

    public DifferentialDifferenceSystem getDifferentialDifferenceSystem()

  システムを表す微分差分方程式システム(状態方程式、入出力方程式)を返します。

  戻り値:
    システムを表す微分差分方程式システム(状態方程式、入出力方程式)

### getLinearSystem

    public LinearSystem getLinearSystem(boolean requiringReachableSubSystem)

  線形システムの式を返します。

  パラメータ:
    `requiringReachableSubSystem` - 可到達なサブシステム(入力ノードから出力ノードまでのパスに対応するシステム)を求めるならばtrue
  戻り値:
    線形システムの式

### getSymbolicTransferFunction

    public AdjacencyConstantMatrix getSymbolicTransferFunction(boolean requiringReachableSubSystem)

  線形システムの式を返します。

  パラメータ:
    `requiringReachableSubSystem` - 可到達なサブシステム(入力ノードから出力ノードまでのパスに対応するシステム)を求めるならばtrue
  戻り値:
    線形システムの式

### getLinearSystemForMaxima

    public LinearSystem getLinearSystemForMaxima(boolean requiringReachableSubSystem,
                                                 ReversePolishNotationProcessor processor)

  線形システムの式を返します。

  パラメータ:
    `requiringReachableSubSystem` - 可到達なサブシステム(入力ノードから出力ノードまでのパスに対応するシステム)を求めるならばtrue
    `processor` - プロセッサ
  戻り値:
    線形システムの式

### getLinearSystemWithExpression

    public LinearSystem getLinearSystemWithExpression(boolean requiringReachableSubSystem,
                                                      ReversePolishNotationProcessor processor)

  線形システムの式(数式も含む)を返します。

  パラメータ:
    `requiringReachableSubSystem` - 可到達なサブシステム(入力ノードから出力ノードまでのパスに対応するシステム)を求めるならばtrue
    `processor` - 解釈するプロセッサー
  戻り値:
    線形システムの式(数式も含む)

### getAllSystem

    public AdjacencyMatrix getAllSystem(boolean requiringReachableSubSystem)

  入力ノードから出力ノードまでの隣接行列を返します。

  パラメータ:
    `requiringReachableSubSystem` - 可到達なサブシステムを求めるならばtrue
  戻り値:
    入力ノードから出力ノードまでの隣接行列

### add

    public ControlSystem add(ControlSystem opponent)

  システム`opponent`との和(並列結合)でできるシステムを返します。

  パラメータ:
    `opponent` - 結合するシステム(加えるシステム)
  戻り値:
    結合システム

### getSystemOperator

    public SystemOperator getSystemOperator()

  システムオペレータを返します。

  戻り値:
    システムオペレータ

### getImporters

    public List<Importer> getImporters()

  入力器のリストを返します。

  戻り値:
    入力器のリスト

### getExporters

    public List<Exporter> getExporters()

  出力器のリストを返します。

  戻り値:
    出力器のリスト

### isSingleSystem

    public boolean isSingleSystem()

  単一のシステム(結合システムでない)であるか判定します。

  戻り値:
    単一システムならばtrue、そうでなければfalse

### getAdjacencyMatrix

    public AdjacencyMatrix getAdjacencyMatrix()

  システムの隣接行列を返します。

  戻り値:
    システムの隣接行列

### isAutoSize

    public boolean isAutoSize()

  自動的に入出力数を設定するか判定します。

  戻り値:
    自動的に入出力数を設定するならばtrue、そうでなければfalse

### setAutoSize

    public void setAutoSize(boolean autoSize)

  自動的に入出力数を設定するか設定します。

  パラメータ:
    `autoSize` - 自動的に入出力数を設定するならばtrue、そうでなければfalse

### resetAutoSize

    public void resetAutoSize()

  自動的に入出力数を設定するシステムの入出力数をリセットします。

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