メインコンテンツ

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

frdfun

R2026a

frd モデル オブジェクトの各周波数での周波数応答値への関数の適用

説明

fsys = frdfun(fun,sys) は関数 fun を sys の各周波数での周波数応答値に適用して、結果を fsys に収集します。

例

例

すべて折りたたむ

この例では、周波数のグリッドの伝達関数の応答を計算して、周波数応答データ モデルを作成します。この例では、一連の 10 の周波数を仮定します。

H = tf([-1.2,-2.4,-1.5],[1,20,9.1]);
w = logspace(-2,3,10);
sys = frd(H,w)
sys =
 
    Frequency(rad/s)          Response      
    ----------------          --------      
           0.0100       -0.1648 + 9.847e-04i
           0.0359       -0.1644 + 3.508e-03i
           0.1292       -0.1597 + 1.130e-02i
           0.4642       -0.1294 + 9.857e-03i
           1.6681       -0.1058 - 7.515e-02i
           5.9948       -0.1883 - 3.050e-01i
          21.5443       -0.7004 - 5.495e-01i
          77.4264       -1.1337 - 2.623e-01i
         278.2559       -1.1946 - 7.725e-02i
        1000.0000       -1.1996 - 2.159e-02i
 
Continuous-time frequency response.
Model Properties

sys は、10 の周波数での周波数応答が含まれる SISO 周波数応答データ (frd) モデルです。

frdfun コマンドを使用して関数 imag を frd モデル sys に適用し、周波数応答の虚数部を周波数の関数として取得します。

sysImag = frdfun(@imag,sys)
sysImag =
 
    Frequency(rad/s)     Response 
    ----------------     -------- 
           0.0100        9.847e-04
           0.0359        3.508e-03
           0.1292        1.130e-02
           0.4642        9.857e-03
           1.6681       -7.515e-02
           5.9948       -3.050e-01
          21.5443       -5.495e-01
          77.4264       -2.623e-01
         278.2559       -7.725e-02
        1000.0000       -2.159e-02
 
Continuous-time frequency response.
Model Properties

sys の周波数応答の振幅を関数 abs で取得することもできます。

sysMag = frdfun(@abs,sys)
sysMag =
 
    Frequency(rad/s)    Response
    ----------------    --------
           0.0100        0.1648 
           0.0359        0.1644 
           0.1292        0.1601 
           0.4642        0.1298 
           1.6681        0.1298 
           5.9948        0.3585 
          21.5443        0.8902 
          77.4264        1.1637 
         278.2559        1.1971 
        1000.0000        1.1998 
 
Continuous-time frequency response.
Model Properties

この例では、各 I/O ペアについて 100 のテスト周波数を含む 2x2 MIMO 周波数応答モデル sys について考えます。

MAT ファイル frdModelMIMO.mat から frd オブジェクト sys を読み込みます。

load('frdModelMIMO.mat','sys')
size(sys)
FRD model with 2 outputs, 2 inputs, and 100 frequency points.

sys の 2 番目の I/O ペアの周波数応答の振幅を計算する関数を定義します。

fun = @(h) abs(h(2,2));

frdfun コマンドを使用して関数 fun を sys の特定の I/O ペアに適用します。

fsys = frdfun(fun,sys);

入力引数

すべて折りたたむ

frd モデルに適用する関数。MATLAB 関数として指定します。関数 fun は、周波数全体で単一の行列を受け入れて、スカラー、ベクトル、または固定サイズの行列を返さなければなりません。

周波数応答データ モデル。frd モデル オブジェクト、genfrd モデル オブジェクト、または ufrd モデル オブジェクトとして指定します。sys を genfrd オブジェクトまたは ufrd (Robust Control Toolbox) オブジェクトとして指定すると、frdfun はそれを、関数 fun を適用する前にまず frd オブジェクトに変換します。

周波数応答データ モデルの詳細については、frd を参照してください。

出力引数

すべて折りたたむ

出力周波数応答データ モデル。frd モデル オブジェクトとして返されます。frdfun は sys の各周波数で周波数応答値に関数 fun を適用し、結果を fsys に収集します。

周波数応答データ モデルの詳細については、frd を参照してください。

バージョン履歴

R2020a で導入

参考

| | (Robust Control Toolbox)