Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
6.1.1 - 日本語

Change language to:
English - Français - Português - Русский

Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function

Scilabヘルプ >> CACSD > Linear System Representation > pfss

pfss

部分分数分解

呼び出し手順

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

パラメータ

Sl

A linear dynamical system in state-space, or a transfer function representation (see syslin), or any rational fraction.

rmax

A real number controlling the conditioning of block diagonalization (see bdiag).

cord

A character string with possible values 'c' or 'd'.

elts

List of linear systems, or list of rationals: the components of the decomposition.

If Sl is a transfer function or any other rational and has an integer part (degree(Sl.num)>=degree(Sl.den)), elts(1:$-1) are rational components and elts($) is the integer part (polynomial).

説明

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

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

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

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

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

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

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

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

// With a linear system (state-space):
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)
// With a rational (transfer function or any other one), without integer part:
num = 22801+4406.18*%s + 382.37*%s^2 + 21.02*%s^3;
den = 22952.25 + 4117.77*%s + 490.63*%s^2 + 33.06*%s^3 + %s^4; // degree(den)>degree(num)
h2 = syslin('c',num/den)
d = pfss(h2)

// With a rational with an integer part: degree(num)>=degree(den):
num = 22801+4406.18*%s + 382.37*%s^2 + 21.02*%s^3 + %s^5;
h2 = syslin('c',num/den)
d = pfss(h2)
typeof(d($)) // last component = integer part = polynomial

参照

  • pbig — 固有投影
  • bdiag — ブロック対角化, 一般化固有ベクトル
  • coffg — 多項式行列の逆
  • dtsi — 連続時間動的システムの安定な非安定分解
Report an issue
<< markp2ss Linear System Representation pol2des >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Jan 03 14:37:49 CET 2022