# pfss

部分分数分解

## 呼び出し手順

    elts=pfss(Sl)
                elts=pfss(Sl,rmax)
                elts=pfss(Sl,'cord')
                elts=pfss(Sl,rmax,'cord')

## パラメータ

Sl

  `syslin` リスト (状態空間または伝達行列システム) rmax : ブロック対角化座標の条件付けを制御する実数 : 文字列 `'c'` または `'d'`.

## 説明

線形システム`Sl`(状態空間形式,伝達行列は `tf2ss`により自動的に状態空間形式に変換されます)の部分分数分解:

`elts` は, 加算すると`Sl`となる 線形システムのリストです. すなわち `elts=list(S1,S2,S3,...,Sn)` :

ただし,`Sl = S1 + S2 +... +Sn`.

各 `Si` は `S`の`A`行列のブロック対角に基づく `` Sのいくつかの極を含みます.

プロパーでないシステムの場合,`Sl`の多項式部分が `elts`の最後のエントリに置かれます.

`Sl`が伝達形式で指定された場合, まず状態空間に変換され, その後,各サブシステム`Si`が伝達形式に変換されます.

A 行列の状態空間形式は, 関数`bdiag`によりブロック対角形式に変換されます. オプションのパラメータ `rmax` は`bdiag`に送られます. `rmax` はブロック対角化を成立させるために 大きな数に設定する必要があります.

オプションフラグ `cord='c'` が指定された場合, `elts`の要素はA行列の固有値の実部 (`cord='d'`の場合は大きさ)でソートされます.

## 例

    W=ssrand(1,1,6);
    elts=pfss(W);
    W1=0;for k=1:size(elts), W1=W1+ss2tf(elts(k));end
    clean(ss2tf(W)-W1)

## 参照

- pbig
- bdiag
- coffg
- dtsi