Main Content

tfdata

伝達関数データにアクセスする

    説明

    [num,den] = tfdata(sys) は、tfss および zpk モデル オブジェクトの伝達関数の分子係数と分母係数、または sys で表されるモデル オブジェクトの配列を返します。

    出力 num および den は、sys が単一の LTI モデルを含む場合 2 次元 cell 配列です。sys がモデルの配列の場合、num および den は多次元 cell 配列として返されます。

    [num,den,ts] = tfdata(sys) はサンプル時間 ts も返します。

    [num,den,ts,sdnum,sdden] = tfdata(sys) は、同定されたシステム sys の分子係数と分母係数の不確かさも返します。sdnum{i,j}(k) は値 num{i,j}(k) の 1 標準不確かさで、sdden{i,j}(k) は値 den{i,j}(k) の 1 標準不確かさです。sys に不確かさに関する情報が含まれていない場合、sdnumsdden は空になります ([])。

    ___ = tfdata(sys,J1,...,JN) は、モデル配列 sysJ1,...,JN エントリのデータを抽出します。

    [num,den] = tfdata(sys,'v') は、sys で表される SISO 伝達関数の cell 配列ではなく、行ベクトルとして分子係数および分母係数を返します。

    すべて折りたたむ

    この例では、連続時間 SISO 伝達関数 sys1 を含む tfData.mat について考えます。

    データを読み込み、tfdata を使用して分子係数と分母係数を抽出します。

    load('tfData.mat','sys1');
    [num,den] = tfdata(sys1);

    numden は cell 配列として返されます。データを表示するには、celldisp を使用します。

    celldisp(num)
     
    num{1} =
     
         0     1     5     2
    
     
    
    celldisp(den)
     
    den{1} =
     
         7     4     2     1
    
     
    

    次の構文を使用して、分子係数と分母係数を行ベクトルとして抽出することもできます。

    [num,den] = tfdata(sys1,'v');

    この例では、離散時間 SISO 伝達関数 sys2 を含む tfData.mat について考えます。

    データを読み込み、tfdata を使用して、サンプル時間と共に分子係数および分母係数を抽出します。

    load('tfData.mat','sys2');
    [num,den,ts] = tfdata(sys2)
    num = 1x1 cell array
        {1x4 double}
    
    
    den = 1x1 cell array
        {1x4 double}
    
    
    ts = 0.1000
    

    numden は cell 配列として返されます。データを表示するには、celldisp を使用します。

    celldisp(num)
     
    num{1} =
     
         0     0     2     0
    
     
    
    celldisp(den)
     
    den{1} =
     
         4     0     3    -1
    
     
    

    この例では、入力遅延値をもつ iddata7.mat に含まれる同定されたデータから 2 つの極と 1 つの零点をもつ伝達関数を推定します。

    同定されたデータを読み込み、伝達関数を推定します。

    load('iddata7.mat');
    sys = tfest(z7,2,1,'InputDelay',[1 0]);

    2 入力、1 出力で同定された伝達関数の分子、分母、および標準偏差を抽出します。

    [num,den,~,sdnum,sdden] = tfdata(sys)
    num=1×2 cell array
        {1x3 double}    {1x3 double}
    
    
    den=1×2 cell array
        {1x3 double}    {1x3 double}
    
    
    sdnum=1×2 cell array
        {1x3 double}    {1x3 double}
    
    
    sdden=1×2 cell array
        {1x3 double}    {1x3 double}
    
    

    この例では、連続時間伝達関数 sys の 3 行 1 列の配列に含まれている特定の伝達関数の分子係数と分母係数を抽出します。

    データを読み込み、配列内 2 番のモデルの分子係数と分母係数を抽出します。

    load('tfArray.mat','sys');
    [num,den] = tfdata(sys,2);

    celldisp を使用して、cell 配列 num および den 内のデータを可視化します。

    celldisp(num)
     
    num{1} =
     
         0     0     2
    
     
    
    celldisp(den)
     
    den{1} =
     
         1     1     2
    
     
    

    入力引数

    すべて折りたたむ

    動的システム。SISO または MIMO 動的システム モデル、あるいは SISO または MIMO 動的システム モデルの配列として指定します。使用できる動的システムには、tfsszpk モデルなどの連続時間または離散時間の数値 LTI モデルが含まれます。

    sys が、状態空間モデルまたは零点-極-ゲイン モデルである場合、tf を使用して最初に伝達関数形式に変換されます。伝達関数モデルのデータ形式の詳細は、tf のリファレンス ページを参照してください。

    SISO 伝達関数では、以下の構文を使用して、cell 配列ではなく行ベクトルとして分子係数と分母係数を直接返します。

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

    アクセスするデータをもつ配列内のモデルインデックス。正の整数として指定します。sys における配列の次元数と同じ数のインデックスを指定できます。たとえば、sys が伝達関数の 4 行 5 列の配列の場合、以下のコマンドでは配列内のエントリ (2,3) のデータにアクセスします。

    [num,den] = tfdata(sys,2,3);

    出力引数

    すべて折りたたむ

    伝達関数の分子の係数。cell 配列または行ベクトルとして返されます。

    sys に単一の LTI モデルが含まれる場合、出力 num は、次の特性をもつ cell 配列として返されます。

    • num には出力と同じ数の行、sys の入力と同じ数の列があります。

    • num{i,j} 内の (i,j) エントリは、入力 j から出力 i への伝達関数の分子係数を指定する行ベクトルです。tfdata は、これらの係数を s または z の "降べきの順" で並べ替えます。

    sys に LTI モデルの配列が含まれる場合、num は、sys と同じサイズの多次元 cell 配列として返されます。

    伝達関数の分母の係数。cell 配列または行ベクトルとして返されます。

    sys に単一の LTI モデルが含まれる場合、出力 den は、次の特性をもつ cell 配列として返されます。

    • den には出力と同じ数の行、sys の入力と同じ数の列があります。

    • den{i,j} 内の (i,j) エントリは、入力 j から出力 i への伝達関数の分母係数を指定する行ベクトルです。tfdata は、これらの係数を s または z の "降べきの順" で並べ替えます。

    sys に LTI モデルの配列が含まれる場合、den は、sys と同じサイズの多次元 cell 配列として返されます。

    サンプル時間。非負のスカラーとして返されます。

    同定されたシステム sys の分子係数の標準不確かさ。num と同じサイズの cell 配列として返されます。sdnum{i,j}(k) は、値 num{i,j}(k) の 1 標準不確かさです。sys に不確かさの情報が含まれない場合、sdnum は空 [] です。

    同定されたシステム sys の分母係数の標準不確かさ。den と同じサイズの cell 配列として返されます。sdden{i,j}(k) は、値 den{i,j}(k) の 1 標準不確かさです。sys に不確かさの情報が含まれない場合、sdden は空 [] です。

    参考

    | | | | |

    R2006a より前に導入