Main Content

zp2ss

零点-極-ゲイン フィルター パラメーターの状態空間形式への変換

説明

[A,B,C,D] = zp2ss(z,p,k) では、次の状態空間表現を求めます。

x˙=Ax+Buy=Cx+Du

これにより、次のような因数分解された伝達関数形式でシステムと等価になるようにします。

H(s)=Z(s)P(s)=k(sz1)(sz2)(szn)(sp1)(sp2)(spn)

列ベクトル p は極の位置、行列 z は零点の位置をそれぞれ指定し、出力と同数の列をもっています。各分子の伝達関数のゲインは、ベクトル k で指定されます。行列 ABC、および D は、制御正準形で返されます。

すべて折りたたむ

次の微分方程式に従う、減衰ばね質量系の状態空間表現を生成します。

w¨+0.01w˙+w=u(t).

測定可能な量は加速度 y=w¨ で、u(t) は駆動力です。ラプラス空間では、このシステムは次のように表されます。

Y(s)=s2U(s)s2+0.01s+1.

システムは、単位ゲイン、s=0 における二重零点および 2 つの複素共役極を持ちます。

z = [0 0];
p = roots([1 0.01 1])
p = 2×1 complex

  -0.0050 + 1.0000i
  -0.0050 - 1.0000i

k = 1;

zp2ss を使用して状態空間行列を求めます。

[A,B,C,D] = zp2ss(z,p,k)
A = 2×2

   -0.0100   -1.0000
    1.0000         0

B = 2×1

     1
     0

C = 1×2

   -0.0100   -1.0000

D = 1

入力引数

すべて折りたたむ

システムの零点。ベクトルとして指定します。零点は、実数か、または複素共役対でなければなりません。

ある列がほかの列より少ない零点をもつ場合、z 内で Inf の値をプレース ホルダーとして使用することができます。

例: [1 (1+1j)/2 (1-1j)/2]'

データ型: double
複素数のサポート: あり

システムの極。ベクトルとして指定します。極は、実数か、または複素共役対でなければなりません。

例: [1 (1+1j)/2 (1-1j)/2]'

データ型: double
複素数のサポート: あり

システムのスカラー ゲイン。スカラーとして指定します。

データ型: double

出力引数

すべて折りたたむ

状態行列。行列として返される。システムが n 個の状態変数により記述される場合、A は n 行 n 列になります。

データ型: single | double

状態への入力行列。行列として返される。システムが n 個の状態変数により記述される場合、B は n 行 1 列になります。

データ型: single | double

出力への状態行列。行列として返される。システムに q 個の出力があり、n 個の状態変数により記述される場合、C は q 行 n 列になります。

データ型: single | double

行列として返される直達行列。システムに q 個の出力がある場合、D は q 行 1 列になります。

データ型: single | double

アルゴリズム

単入力システムにおいて、zp2ss では複素共役対が A 行列の対角となる 2 行 2 列のブロックに分類されます。このため、零点と極は、実数、または複素共役対でなければなりません。

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入

参考

| | | |