Main Content

モデル係数の抽出

モデル係数を抽出するための関数

Control System Toolbox™ ソフトウェアには、モデル係数を抽出するためのコマンドがいくつかあります (たとえば、伝達関数の分子と分母の係数、状態空間行列、比例-積分-微分 (PID) ゲインなど)。

以下のコマンドでデータを抽出できます。

コマンド結果
tfdata伝達関数係数の抽出
zpkdata0 と極配置、およびシステム ゲインの抽出
ssdata状態空間行列の抽出
dssdata記述子状態空間行列の抽出
frdatafrd モデルからの周波数応答データの抽出
piddata並列形式 PID データの抽出
pidstddata標準形式 PID データの抽出
getすべてのモデル プロパティ値へのアクセス

異なるモデル タイプの係数の抽出

データ抽出コマンドを異なるタイプのモデルに使用すると、対象のモデル タイプの係数が計算されます。たとえば、ss モデルで zpkdata を使用すると、モデルは zpk 形式に変換され、0 と極配置とシステム ゲインが返されます。

数値モデル データとむだ時間の抽出

この例では、tfdata を使用して伝達関数の分子と分母の係数を抽出する方法を示します。

  1. 1 次モデルにデッド タイムを付加した伝達関数モデルを作成します。

    s = tf('s');
    H = exp(-2.5*s)/(s+12);
  2. 分子と分母の係数を抽出します。

    [num,den] = tfdata(H,'v')

    変数 numden は数値配列です。'v' フラグがないと、tfdata は cell 配列を返します。

    メモ

    SISO 伝達関数モデルの場合は、以下を使用して係数を抽出することもできます。

    num = H.Numerator{1};
    den = H.Denominator{1};
  3. むだ時間を抽出します。

    1. H のどのプロパティがむだ時間を含んでいるかを判断します。

      SISO tf モデルでは、入力遅延、出力遅延、または伝達遅延 (I/O 遅延) としてむだ時間を表現することができます。

      get(H)
             Numerator: {[0 1]}
           Denominator: {[1 12]}
              Variable: 's'
               IODelay: 0
            InputDelay: 0
           OutputDelay: 2.5000
                    Ts: 0
              TimeUnit: 'seconds'
             InputName: {''}
             InputUnit: {''}
            InputGroup: [1×1 struct]
            OutputName: {''}
            OutputUnit: {''}
           OutputGroup: [1×1 struct]
                 Notes: [0×1 string]
              UserData: []
                  Name: ''
          SamplingGrid: [1×1 struct]

      むだ時間は OutputDelay プロパティに格納されます。

    2. 出力遅延を抽出します。

      delay = H.OutputDelay;

伝達関数からの PID ゲインの抽出

この例では、piddata を使用して、伝達関数から PID (比例-積分-微分) ゲインを抽出する方法を示します。piddata または pidstddata を使用して、同じ手順を用いて PID コントローラーを表す任意のタイプのモデルから PID ゲインを抽出することができます。

  1. 微分項の 1 次フィルターで PID コントローラーを表す伝達関数を作成します。

     Czpk = zpk([-6.6,-0.7],[0,-2],0.2)
  2. PID ゲインとフィルター定数を取得します。

    [Kp,Ki,Kd,Tf] = piddata(Czpk)

    このコマンドは比例ゲイン Kp、積分ゲイン Ki、微分ゲイン Kd、および微分フィルター時定数 Tf を返します。piddata が自動的に PID コントローラー パラメーターを計算するので、pid モデルを作成せずに PID 係数を抽出することができます。

関連する例

詳細