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

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

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

    public class AdjacencyStringMatrix

extends Object

ブロック線図(グラフ)の隣接関係を保持する文字列行列を表すクラスです。

バージョン:
  $Revision: 1.52 $.
作成者:
  Yusuke Tsutsui

コンストラクタの概要
`AdjacencyStringMatrix(int size)` 大きさ`size`の隣接行列を生成します。

メソッドの概要
`void` | `addDeMultiplexer(int inputNode, List<Integer> outputNodes)` `inputNode`ノードから`outputNodes`の各ノードへの分離器を追加します。
`void` | `addEdge(int inputNode, int outputNode, ControlSystem system)` `inputNode`ノードと`outputNode`ノードの間にエッジ(重み(`ControlSystem`))を追加します。
`void` | `addMIMO(List<Integer> inputNodes, List<Integer> outputNodes, ControlSystem system)` MOMOシステムを追加します。
`void` | `addMultiplexer(List<Integer> inputNodes, int outputNode)` `inputNodes`の各ノードから`outputNode`ノードへの多重器を追加します。
`void` | `addSink(int outputNode, ControlSystem controlSystem, int sinkNumber)` Sinkシステムを追加します
`void` | `addSource(int inputNode, ControlSystem controlSystem, int sourceNumber)` sourceシステムを追加します。
`void` | `addSum(List<Integer> inputNodes, int outputNode, List<Boolean> positives)` `inputNodes`の各ノードから`outputNode`ノードへの加算器を追加します。
`void` | `addUnitEdge(int inputNode, int outputNode, boolean positive)` `inputNode`ノードから`outputNode`ノードに単位エッジ(重み=Iまたは-I)を追加します。
`ControlSystem` | `getControlSystem(String tag)` タグに対応するシステムを返します。
`int` | `getNodeDegree(int nodeNumber)` ノードの次数を返します。
`List<Integer>` | `getSortedInputSourceNodes()` ポート番号順にソートしたinputポートとsourceシステムが接続されたノードのリストを返します。
`List<Integer>` | `getSortedOutputSinkNodes()` ポート番号順にソートしたoutputポートとsinkシステムが接続されたノードのリストを返します。
`String` | `getWeightOfEdge(int inputNode, int outputNode)` エッジの重み(隣接行列の成分)を返します。
`boolean` | `hasEdge(int inputNode, int outputNode)` 指定したノードとノードの間にエッジがあるか判定します。
`void` | `print()` 行列を標準出力に出力します。
`void` | `setNodeDegree(int nodeNumber, int degree)` ノードの次数を設定します。
`int` | `size()` 隣接行列のサイズを返します。
`String` | `toString()`

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

コンストラクタの詳細

### AdjacencyStringMatrix

    public AdjacencyStringMatrix(int size)

  大きさ`size`の隣接行列を生成します。

  パラメータ:
    `size` - 隣接行列のサイズ

メソッドの詳細

### addEdge

    public void addEdge(int inputNode,
                        int outputNode,
                        ControlSystem system)

  `inputNode`ノードと`outputNode`ノードの間にエッジ(重み(`ControlSystem`))を追加します。

  既に同じ位置にエッジが存在する場合は、重みが置き換えられます。

  パラメータ:
    `inputNode` - 入力ノード
    `outputNode` - 出力ノード
    `system` - 入力ノードと出力ノードの間のエッジの重み(`ControlSystem`)

### addMIMO

    public void addMIMO(List<Integer> inputNodes,
                        List<Integer> outputNodes,
                        ControlSystem system)

  MOMOシステムを追加します。

  パラメータ:
    `inputNodes` - 入力ノードのリスト
    `outputNodes` - 出力ノードのリスト
    `system` - MIMOシステム

### hasEdge

    public boolean hasEdge(int inputNode,
                           int outputNode)

  指定したノードとノードの間にエッジがあるか判定します。

  パラメータ:
    `inputNode` - 入力ノード
    `outputNode` - 出力ノード
  戻り値:
    指定したノードとノードの間にエッジがあればtrue、そうでなければfalse

### addUnitEdge

    public void addUnitEdge(int inputNode,
                            int outputNode,
                            boolean positive)

  `inputNode`ノードから`outputNode`ノードに単位エッジ(重み=Iまたは-I)を追加します。

  パラメータ:
    `inputNode` - 入力ノード
    `outputNode` - 出力ノード
    `positive` - 正入力かどうか(trueであれば正入力)

### addMultiplexer

    public void addMultiplexer(List<Integer> inputNodes,
                               int outputNode)

  `inputNodes`の各ノードから`outputNode`ノードへの多重器を追加します。

  パラメータ:
    `inputNodes` - 入力ノードのリスト
    `outputNode` - 出力ノード

### addSum

    public void addSum(List<Integer> inputNodes,
                       int outputNode,
                       List<Boolean> positives)

  `inputNodes`の各ノードから`outputNode`ノードへの加算器を追加します。

  パラメータ:
    `inputNodes` - 入力ノードのリスト
    `outputNode` - 出力ノード
    `positives` - 正入力かどうか(正入力ならばtrue)

### addDeMultiplexer

    public void addDeMultiplexer(int inputNode,
                                 List<Integer> outputNodes)

  `inputNode`ノードから`outputNodes`の各ノードへの分離器を追加します。

  パラメータ:
    `inputNode` - 入力ノード
    `outputNodes` - 出力ノードのリスト

### addSource

    public void addSource(int inputNode,
                          ControlSystem controlSystem,
                          int sourceNumber)

  sourceシステムを追加します。

  パラメータ:
    `inputNode` - sourceシステムを接続するノードの番号
    `controlSystem` - sourceシステム
    `sourceNumber` - sourceシステムの番号

### addSink

    public void addSink(int outputNode,
                        ControlSystem controlSystem,
                        int sinkNumber)

  Sinkシステムを追加します

  パラメータ:
    `outputNode` - Sinkシステムを接続するノードの番号
    `controlSystem` - Sinkシステム
    `sinkNumber` - Sinkの番号

### getSortedInputSourceNodes

    public List<Integer> getSortedInputSourceNodes()

  ポート番号順にソートしたinputポートとsourceシステムが接続されたノードのリストを返します。

  戻り値:
    「ポート番号順にソートしたinputポート」＋「sourceシステム」とが接続されたノードのリスト

### getSortedOutputSinkNodes

    public List<Integer> getSortedOutputSinkNodes()

  ポート番号順にソートしたoutputポートとsinkシステムが接続されたノードのリストを返します。

  戻り値:
    「sinkシステム」＋「ポート番号順にソートしたoutputポート」とが接続されたノードのリスト

### getControlSystem

    public ControlSystem getControlSystem(String tag)

  タグに対応するシステムを返します。

  パラメータ:
    `tag` - システムのタグ(G1,G2,...)
  戻り値:
    その文字列に対応する `ControlSystem`

### getWeightOfEdge

    public String getWeightOfEdge(int inputNode,
                                  int outputNode)

  エッジの重み(隣接行列の成分)を返します。

  パラメータ:
    `inputNode` - 入力ノード
    `outputNode` - 出力ノード
  戻り値:
    システムを表す文字列

### size

    public int size()

  隣接行列のサイズを返します。

  戻り値:
    隣接行列のサイズ

### toString

    public String toString()

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

### print

    public void print()

  行列を標準出力に出力します。

### getNodeDegree

    public int getNodeDegree(int nodeNumber)

  ノードの次数を返します。

  パラメータ:
    `nodeNumber` - ノードの番号
  戻り値:
    ノードの次数

### setNodeDegree

    public void setNodeDegree(int nodeNumber,
                              int degree)

  ノードの次数を設定します。

  パラメータ:
    `nodeNumber` - ノードの番号
    `degree` - ノードの次数

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