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

## org.mklab.tool.control
クラス Ctrf

    java.lang.Object
      org.mklab.tool.control.Ctrf

    public class Ctrf

extends Object

可制御部分と不可制御部分に分解するクラスです。

Controllable-uncontrollable decomposition

バージョン:
  $Revision: 1.33 $
作成者:
  koga
関連項目:
  `Ctrm`, `Obsf`

コンストラクタの概要
`Ctrf()`

メソッドの概要
`static List<Matrix>` | `ctrf(Matrix A, Matrix B, Matrix C)` 可制御部分と不可制御部分に分解したシステム表現を返します。
`static List<Matrix>` | `ctrf(Matrix A, Matrix B, Matrix C, double tolerance)` 部分空間の次元を決めるために許容誤差`tolerance`を用いる。
`static List<Matrix>` | `ctrf(Matrix A, Matrix B, Matrix C, NumericalScalar<?> tolerance)` 部分空間の次元を決めるために許容誤差`tolerance`を用いる。

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

コンストラクタの詳細

### Ctrf

    public Ctrf()

メソッドの詳細

### ctrf

    public static List<Matrix> ctrf(Matrix A,
                                    Matrix B,
                                    Matrix C)

  可制御部分と不可制御部分に分解したシステム表現を返します。

  もし `rank([A B]) < Rows(A)`なら、相似変換 `z = T x`により、システム行列を

       Ab = T*A*T# , Bb = T*B , Cb = C*T#

  のように変換すると、それぞれの行列は

       [Anc| 0] [ 0] Ab = [---+--], Bb = [--], Cb = [Cnc|Cc]. [A21|Ac] [Bc]

  のようになる。ただし、`(Ac,Bc)`は可制御であり、

       -1 -1 Cc(sI-Ac)Bc = C(sI-A)B.

  が成り立ちます。

  パラメータ:
    `A` - 元のA行列
    `B` - 元のB行列
    `C` - 元のD行列
  戻り値:
    { Ab, Bb, Cb, T, k } (controllable-uncontrollable decomposition)

### ctrf

    public static List<Matrix> ctrf(Matrix A,
                                    Matrix B,
                                    Matrix C,
                                    double tolerance)

  部分空間の次元を決めるために許容誤差`tolerance`を用いる。

  パラメータ:
    `A` - 元のA行列
    `B` - 元のB行列
    `C` - 元のD行列
    `tolerance` - 許容誤差
  戻り値:
    { Ab, Bb, Cb, T, k } (controllable-uncontrollable decomposition)

### ctrf

    public static List<Matrix> ctrf(Matrix A,
                                    Matrix B,
                                    Matrix C,
                                    NumericalScalar<?> tolerance)

  部分空間の次元を決めるために許容誤差`tolerance`を用いる。

  パラメータ:
    `A` - 元のA行列
    `B` - 元のB行列
    `C` - 元のD行列
    `tolerance` - 許容誤差
  戻り値:
    { Ab, Bb, Cb, T, k } (controllable-uncontrollable decomposition)

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