メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

damp

固有振動数と減衰比

説明

damp(sys) は、線形モデル sys の極の減衰比、固有振動数および時定数を表示します。離散時間モデルでは、テーブルには各極の振幅も含まれます。極は周波数値の昇順で並べ替えられます。

[wn,zeta] = damp(sys) は、固有振動数 wn および sys の極の減衰比 zeta を返します。

[wn,zeta,p] = damp(sys)sys の極 p も返します。

___ = damp(___,Name=Value) は、指定した 1 つ以上の名前と値の引数に基づいて、スパース モデル sys の極のサブセットの減衰比と固有振動数を計算します。名前と値の引数を指定しなかった場合、この関数は最小の振幅をもつ最初の 1000 個までの極の減衰比と固有振動数を計算します。sys が非スパース モデルの場合、関数は名前と値の引数を無視します。 (R2025a 以降)

すべて折りたたむ

この例では、次の連続時間伝達関数モデルについて考えます。

sys(s)=2s2+5s+1s3+2s-3.

連続時間伝達関数を作成します。

sys = tf([2,5,1],[1,0,2,-3]);

sys の固有振動数、減衰比、時定数および極を表示します。

damp(sys)
                                                                       
         Pole              Damping       Frequency      Time Constant  
                                       (rad/seconds)      (seconds)    
                                                                       
  1.00e+00                -1.00e+00       1.00e+00        -1.00e+00    
 -5.00e-01 + 1.66e+00i     2.89e-01       1.73e+00         2.00e+00    
 -5.00e-01 - 1.66e+00i     2.89e-01       1.73e+00         2.00e+00    

sys の極には、s 平面の左半分にある不安定な極と複素共役の組が含まれます。不安定な極に対応する減衰比は -1 です。これは、システムの発振を増やして、システムを不安定にさせるため、減衰力ではなく駆動力と呼ばれます。

この例では、サンプル時間が 0.01 秒の次の離散時間伝達関数を考えてみます。

sys(z)=5z2+3z+1z3+6z2+4z+4.

離散時間伝達関数を作成します。

sys = tf([5 3 1],[1 6 4 4],0.01)
sys =
 
     5 z^2 + 3 z + 1
  ---------------------
  z^3 + 6 z^2 + 4 z + 4
 
Sample time: 0.01 seconds
Discrete-time transfer function.
Model Properties

damp コマンドを使用して sys の極に関する情報を表示します。

damp(sys)
                                                                                    
         Pole             Magnitude     Damping       Frequency      Time Constant  
                                                    (rad/seconds)      (seconds)    
                                                                                    
 -3.02e-01 + 8.06e-01i     8.61e-01     7.74e-02       1.93e+02         6.68e-02    
 -3.02e-01 - 8.06e-01i     8.61e-01     7.74e-02       1.93e+02         6.68e-02    
 -5.40e+00                 5.40e+00    -4.73e-01       3.57e+02        -5.93e-03    

Magnitude 列は離散時間の極の振幅を表示します。DampingFrequency、および Time Constant の各列は、等価な連続時間の極を使用して計算された値を表示します。

この例では、2 つの出力と 1 つの入力を使用して離散時間零点-極-ゲイン モデルを作成します。0.1 秒のサンプル時間を使用します。

sys = zpk({0;-0.5},{0.3;[0.1+1i,0.1-1i]},[1;2],0.1)
sys =
 
  From input to output...
          z
   1:  -------
       (z-0.3)
 
            2 (z+0.5)
   2:  -------------------
       (z^2 - 0.2z + 1.01)
 
Sample time: 0.1 seconds
Discrete-time zero/pole/gain model.
Model Properties

零点-極-ゲイン モデル sys の固有振動数と減衰比を計算します。

[wn,zeta] = damp(sys)
wn = 3×1

   12.0397
   14.7114
   14.7114

zeta = 3×1

    1.0000
   -0.0034
   -0.0034

wnzeta の各エントリは、sys における I/O の組み合わされた数を表します。zetawn の固有振動数値の昇順で並べ替えられます。

この例では、次の状態空間モデルの固有振動数、減衰比、および極を計算します。

A=[-2-11-2],B=[112-1],C=[10],D=[01].

状態空間行列を使用して状態空間モデルを作成します。

A = [-2 -1;1 -2];
B = [1 1;2 -1];
C = [1 0];
D = [0 1];
sys = ss(A,B,C,D);

sys の固有振動数、減衰比および極を計算するには、damp を使用します。

[wn,zeta,p] = damp(sys)
wn = 2×1

    2.2361
    2.2361

zeta = 2×1

    0.8944
    0.8944

p = 2×1 complex

  -2.0000 + 1.0000i
  -2.0000 - 1.0000i

sys の極は、s 平面の左半分にある複素共役です。対応する減衰比は 1 未満です。したがって、sys は不足減衰システムです。

R2025a 以降

この例では、光学フィルターのスパース状態空間モデルの固有振動数、減衰比、および極を計算します。スパース状態空間モデルでは、対象の周波数範囲内で計算された極のサブセットの減衰比を判別できます。

モデルを読み込みます。

load sparseFilter.mat
size(sys)
Sparse state-space model with 5 outputs, 1 inputs, and 1668 states.

スパース モデルは大規模になることが多いため、すべての極を計算するのは実行不可能であったり、計算コストが高くなったりすることがあります。既定では、damp 関数は、最小の振幅をもつ最初の 1000 個までの極を計算します。

[wn,zeta,p] = damp(sys);
size(p)
ans = 1×2

        1000           1

多数の極を計算しないようにするために、対象の周波数範囲などの追加オプションを指定できます。通常、低周波数帯域を指定します。すると、関数はその範囲内の固有振動数をもつ極のみを計算します。

damp(sys,Focus=[10 1000]);
                                                           
   Pole        Damping       Frequency      Time Constant  
                           (rad/seconds)      (seconds)    
                                                           
 -3.76e+01     1.00e+00       3.76e+01         2.66e-02    
 -7.78e+02     1.00e+00       7.78e+02         1.29e-03    
 -7.92e+02     1.00e+00       7.92e+02         1.26e-03    

入力引数

すべて折りたたむ

線形動的システム。SISO または MIMO 動的システム モデルとして指定します。使用できる動的システムには次のようなものがあります。

  • tf (Control System Toolbox)zpk (Control System Toolbox)ss (Control System Toolbox) モデルなどの連続時間または離散時間の数値 LTI モデル。

  • genss (Control System Toolbox)uss (Robust Control Toolbox) モデルなどの一般化された、あるいは不確かさをもつ LTI モデル。(不確かさをもつモデルを使用するには Robust Control Toolbox™ ソフトウェアが必要です。)

    damp は次を仮定します。

    • 調整可能な制御設計ブロックについては調整可能なコンポーネントの現在値。

    • 不確かさをもつ制御設計ブロックについてはモデルのノミナル値。

sys がスパース状態空間モデル (sparss (Control System Toolbox) または mechss (Control System Toolbox)) の場合、ソフトウェアは指定した焦点の周波数帯域内における極のサブセットの減衰比と固有振動数を計算します。スパース モデルの場合は、名前と値の引数を使用して計算オプションを指定します。オプションを指定しなかった場合、ソフトウェアは最小の振幅をもつ最初の 1000 個までの極を計算します。レイリー減衰をもつ mechss モデルの場合、ソフトウェアは (K,M) の固有値から極を計算します。それ以外の場合、ソフトウェアは同等の sparss モデルから極を計算します。 (R2025a 以降)

名前と値の引数

すべて折りたたむ

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

例: [wn,zeta] = damp(sparseSys,Focus=[0 10],Display="off")

R2025a 以降

対象の周波数範囲。[fmin,fmax] の形式のベクトルとして指定します。焦点の周波数範囲を指定すると、アルゴリズムはこの範囲内の固有振動数をもつ極のみを計算します。離散時間モデルの場合、ソフトウェアは双一次変換を使用して同等の固有振動数を近似します。

対称半正定値スパース モデルの場合、0 ≤ fmin < fmax の任意の周波数範囲を指定できます。非対称 sparss モデルの場合、周波数範囲を [0,fmax] または [fmin,inf] のいずれかとして指定する必要があります。

ソフトウェアは指定した周波数範囲内のすべての極を計算するため、通常は低周波数範囲を指定して多数の極を計算しないように制限します。既定では、焦点は未指定 ([0 Inf]) であり、アルゴリズムは MaxNumber 個までの極を計算します。

R2025a 以降

計算する極と零点の最大数。正の整数として指定します。この値は、アルゴリズムによって計算される極の数を制限します。

R2025a 以降

スペクトル シフト。有限スカラーとして指定します。

ソフトウェアは A-sigma*E に逆べき乗法を使用して、指定した範囲 [0,fmax] 内の固有振動数をもつ極を計算し、シフト sigma に最も近い固有値を取得します。A が特異で、sigma がゼロの場合、逆が存在しないためアルゴリズムは失敗します。したがって、積分動作をもつスパース モデル (s = 0 または z = 1 (離散時間モデルの場合)) では、このオプションを使用して、極または零点をこのシフト値に最も近い値に暗黙的にシフトできます。元のモデルの既存の極値と等しくないシフト値を指定します。

R2025a 以降

計算された極の精度の許容誤差。正の有限スカラーとして指定します。この値は、逆べき乗法における計算された固有値の収束を制御します。

R2025a 以降

進捗レポートの表示または非表示。"off" または "on" として指定します。

出力引数

すべて折りたたむ

sys の各極の固有振動数。周波数値の昇順で並べ替えられたベクトルとして返されます。周波数は sysTimeUnit プロパティの逆数の単位で表されます。

sys が指定のサンプル時間をもつ離散時間モデルである場合、wn は等価な連続時間極の固有振動数を含みます。サンプル時間が指定されていない場合、damp はサンプル時間値を 1 と仮定して、wn を計算します。詳細については、アルゴリズムを参照してください。

各極の減衰比。wn と同じ順序で並べ替えられたベクトルとして返されます。

sys が指定のサンプル時間をもつ離散時間モデルである場合、zeta は等価な連続時間極の減衰比を含みます。サンプル時間が指定されていない場合、damp はサンプル時間値を 1 と仮定して、zeta を計算します。詳細については、アルゴリズムを参照してください。

動的システム モデルの極。wn と同じ順序で並べ替えられたベクトルとして返されます。p は、順序を除いて、pole(sys) の出力と同じです。極の詳細については、pole を参照してください。

アルゴリズム

damp では、システムの極の固有振動数、時定数および減衰比を以下の表に定義されているように計算します。

 連続時間サンプル時間 Ts の離散時間
極配置

s

z

同等の連続時間の極

Not applicable

s=ln(z)Ts

固有振動数

ωn=|s|

ωn=|s|=|ln(z)Ts|

減衰比

ζ=cos(s)

ζ=cos(s)=cos(ln(z))

時定数

τ=1ωnζ

τ=1ωnζ

サンプル時間が指定されていない場合、damp はサンプル時間値を 1 と仮定して、zeta を計算します。

スパース状態空間モデルの場合、ソフトウェアは逆べき乗法に Krylov-Schur アルゴリズム [1] を使用して、指定した周波数帯域内の極を計算します。 (R2025a 以降)

参照

[1] Stewart, G. W. “A Krylov--Schur Algorithm for Large Eigenproblems.” SIAM Journal on Matrix Analysis and Applications 23, no. 3 (January 2002): 601–14. https://doi.org/10.1137/S0895479800371529.

バージョン履歴

R2006a より前に導入

すべて展開する

参考

| (Control System Toolbox) | (Control System Toolbox) | | |