frd
周波数応答データ モデル
説明
frd
を使用して実数値の、または複素数値の周波数応答データ モデルを作成したり、動的システム モデルを周波数応答データ モデル形式に変換したりします。
周波数応答データ モデルは、複素数の周波数応答データを、対応する周波数点と共に保存します。たとえば、周波数応答データ モデル H(jwi) は、各入力周波数 wi における周波数応答を保存します。ここで i = 1,…,n です。frd
モデル オブジェクトは SISO または MIMO 周波数応答データ モデルを連続時間または離散時間で表現できます。詳細については、周波数応答データ (FRD) モデルを参照してください。
frd
を使用して、一般化周波数応答データ (genfrd
) モデルを作成することもできます。
作成
frd
モデルを次のいずれかの方法で取得できます。
frd
コマンドを使用して周波数応答データからモデルを作成する。たとえば、特定の周波数で取得した周波数応答データを使用してfrd
モデルを作成できます。例については、SISO 周波数応答データ モデルを参照してください。
特定の周波数でのモデルの周波数応答を計算することで、
ss
モデルのような線形モデルを、frd
モデルに変換する。例については、状態空間モデルを周波数応答データ モデルに変換を参照してください。
オフラインの周波数応答推定ワークフローを使用してモデルを推定する。これらのワークフローでは Simulink® Control Design™ ソフトウェアが必要です。
詳細については、コマンド ラインでの周波数応答の推定 (Simulink Control Design)およびモデル線形化器を使用した周波数応答の推定 (Simulink Control Design)を参照してください。
構文
説明
は、前述の任意の入力引数の組み合わせについて、名前と値の引数を 1 つ以上使用して、周波数応答データ モデルのプロパティを設定します。sys
= frd(___,Name,Value
)
入力引数
response
— 周波数応答データ
ベクトル | 多次元配列
周波数応答データ。ベクトルまたは複素数の多次元配列として指定します。
SISO システムの場合、
frequency
で指定される周波数点での周波数応答値のベクトルを指定します。Nu
入力とNy
出力のある MIMO システムの場合、Ny
xNu
xNf
の配列を指定します。ここでNf
は周波数点の数です。Nu
の入力とNy
の出力をもつモデルのS1
x ... xSn
の配列の場合、サイズが [Ny
Nu
Nf
S1
…Sn
] の多次元配列を指定します。たとえば、サイズが [
Ny
,Nu
,Nf
,3
,4
] のresponse
は、3 行 4 列のモデルの配列についての応答データを表します。各モデルにはNy
の出力、Nu
の入力、Nf
の周波数点があります。
この入力は ResponseData プロパティを設定します。
frequency
— 周波数点
ベクトル
response
に対応する周波数点。Nf
の点を含むベクトルとして指定します。frequency
には正と負の両方の周波数を含めることができます。
この入力は Frequency プロパティを設定します。
ts
— サンプル時間
スカラー
スカラーとして指定されたサンプル時間。
この入力は Ts プロパティを設定します。
ltiSys
— 動的システム
動的システム モデル | モデル配列
動的システム。SISO または MIMO 動的システム モデルか、動的システム モデルの配列として指定します。使用できる動的システムには次のようなものがあります。
genss
やuss
(Robust Control Toolbox) モデルなどの一般化された、あるいは不確かさをもつ LTI モデル。(不確かさをもつモデルを使用するには Robust Control Toolbox™ ソフトウェアが必要です。)結果の
frd
モデルでは次のように仮定されます。調整可能な制御設計ブロックについては調整可能なコンポーネントの現在値
不確かさをもつ制御設計ブロックについてはモデルのノミナル値
idtf
(System Identification Toolbox)、idss
(System Identification Toolbox)、idproc
(System Identification Toolbox)、idpoly
(System Identification Toolbox)、idgrey
(System Identification Toolbox) モデルなどの、同定された LTI モデル。(同定されたモデルを使用するには System Identification Toolbox™ ソフトウェアが必要です。)
プロパティ
ResponseData
— 周波数応答データ
複素数の他次元配列
周波数応答データ。複素数の多次元配列として指定します。
SISO システムの場合、
ResponseData
はFrequency
プロパティで指定されたNf
周波数点における周波数応答値の1
x1
xNf
の配列です。Nu
入力とNy
出力のある MIMO システムの場合、ResponseData
は、Ny
xNu
xNf
の配列です。ここでNf
は周波数点の数です。たとえば、
ResponseData(ky,ku,kf)
は、周波数Frequency(kf)
における入力ku
から出力ky
への周波数応答です。Nu
の入力とNy
の出力をもつモデルのS1
x ... xSn
の配列の場合、ResponseData
はサイズが [Ny
Nu
Nf
S1
…Sn
] の多次元配列です。たとえば、サイズが [
Ny
,Nu
,Nf
,3
,4
] のResponseData
は、3 行 4 列のモデルの配列についての応答データを表します。各モデルにはNy
の出力、Nu
の入力、Nf
の周波数点があります。
Frequency
— 周波数点
ベクトル
ResponseData
に対応する周波数点。FrequencyUnit
で指定される単位の Nf
点を含むベクトルとして指定します。
FrequencyUnit
— 周波数ベクトルの単位
'rad/TimeUnit'
(既定値) | 'cycles/TimeUnit'
| 'rad/s'
| 'Hz'
| 'kHz'
| 'MHz'
| 'GHz'
| 'rpm'
Frequency
プロパティの周波数ベクトルの単位。以下のいずれかの値として指定します。
'rad/TimeUnit'
'cycles/TimeUnit'
'rad/s'
'Hz'
'kHz'
'MHz'
'GHz'
'rpm'
単位 'rad/TimeUnit'
と 'cycles/TimeUnit'
は、TimeUnit
プロパティで指定された時間単位に相対的です。
このプロパティを変更してもリサンプリングやデータの変換は行われません。プロパティを変更すると、既存のデータの解釈のみが変更されます。chgFreqUnit
を使用して、データをさまざまな周波数単位に変換します。
IODelay
— 伝達遅延
0
(既定値) | スカラー | Ny
行 Nu
列の配列
伝達遅延。次のいずれかとして指定します。
スカラー — SISO システムに伝達遅延を、または MIMO システムのすべての入出力ペアに対して同じ伝達遅延を指定します。
Ny
行Nu
列の配列 — MIMO システムの入出力ペアごとに別々の伝達遅延を指定します。ここで、Ny
は出力の数、Nu
は入力の数です。
連続時間システムの場合は、TimeUnit
プロパティによって指定された時間単位で伝達遅延を指定します。離散時間システムの場合、サンプル時間 Ts
の整数倍で伝達遅延を指定します。
InputDelay
— 入力遅延
0
(既定値) | スカラー | Nu
行 1 列のベクトル
各入力チャネルの入力遅延。次のいずれかとして指定します。
スカラー — SISO システムに入力遅延を、または多入力システムのすべての入力に同じ遅延を指定します。
Nu
行 1 列のベクトル — 多入力システムの入力に別々の入力遅延を指定します。Nu
は入力の数です。
連続時間システムの場合は、TimeUnit
プロパティによって指定された時間単位で入力遅延を指定します。離散時間システムの場合は、サンプル時間 Ts
の整数倍で入力遅延を指定します。
詳細については、線形システムでのむだ時間を参照してください。
OutputDelay
— 出力遅延
0
(既定値) | スカラー | Ny
行 1 列のベクトル
各出力チャネルの出力遅延。次のいずれかとして指定します。
スカラー — SISO システムに出力遅延を、または多出力システムのすべての出力に同じ遅延を指定します。
Ny
行 1 列のベクトル — 多出力システムの出力に別々の出力遅延を指定します。Ny
は出力の数です。
連続時間システムの場合は、TimeUnit
プロパティによって指定された時間単位で出力遅延を指定します。離散時間システムの場合は、サンプル時間 Ts
の整数倍で出力遅延を指定します。
詳細については、線形システムでのむだ時間を参照してください。
Ts
— サンプル時間
0
(既定値) | 正のスカラー | -1
サンプル時間。以下として指定します。
0
(連続時間システムの場合)。離散時間システムのサンプリング周期を表す正のスカラー。
Ts
はTimeUnit
プロパティによって指定される時間単位で指定します。-1
(サンプル時間が指定されていない離散時間システムの場合)。
メモ
Ts
を変更してもモデルの離散化やリサンプリングは行われません。
TimeUnit
— 時間変数の単位
'seconds'
(既定値) | 'nanoseconds'
| 'microseconds'
| 'milliseconds'
| 'minutes'
| 'hours'
| 'days'
| 'weeks'
| 'months'
| 'years'
| ...
時間変数の単位。次のいずれかとして指定します。
'nanoseconds'
'microseconds'
'milliseconds'
'seconds'
'minutes'
'hours'
'days'
'weeks'
'months'
'years'
TimeUnit
の変更は他のプロパティには影響しませんが、システム全体の動作が変わります。chgTimeUnit
を使用して、システム動作を変更せずに時間単位を変換します。
InputName
— 入力チャネル名
''
(既定値) | 文字ベクトル | 文字ベクトルの cell 配列
入力チャネル名。以下のいずれかとして指定します。
文字ベクトル (単入力モデルの場合)。
文字ベクトルの cell 配列 (多入力モデルの場合)。
''
(いずれの入力チャネルにも名前を指定しない場合)。
あるいは、自動的なベクトル拡張を使用して多入力モデルの入力名を割り当てることもできます。たとえば、sys
が 2 入力モデルである場合は、以下のように入力します。
sys.InputName = 'controls';
入力名は自動的に {'controls(1)';'controls(2)'}
へと拡張されます。
省略形表記 u
を使用して、InputName
プロパティを参照できます。たとえば、sys.u
は sys.InputName
と同じです。
InputName
の使用目的は次のとおりです。
モデル表示とプロット上のチャネルの識別
MIMO システムのサブシステムの抽出
モデル相互接続時における接続点の指定
InputUnit
— 入力チャネル単位
''
(既定値) | 文字ベクトル | 文字ベクトルの cell 配列
入力チャネル単位。以下のいずれかとして指定します。
文字ベクトル (単入力モデルの場合)。
文字ベクトルの cell 配列 (多入力モデルの場合)。
''
(いずれの入力チャネルにも単位を指定しない場合)。
InputUnit
を使用して入力信号の単位を指定します。InputUnit
はシステムの動作に影響しません。
InputGroup
— 入力チャネル グループ
構造体
入力チャネル グループ。構造体として指定します。InputGroup
プロパティを使用して、MIMO システムの入力チャネルをグループに割り当て、各グループを名前で参照します。InputGroup
のフィールド名はグループ名であり、フィールドの値は各グループの入力チャネルです。たとえば、入力チャネル 1
と 2
、および 3
と 5
をそれぞれ含む、controls
および noise
という名前の入力グループを作成するには、次のように入力します。
sys.InputGroup.controls = [1 2]; sys.InputGroup.noise = [3 5];
その後、以下を使用して controls
入力からすべての出力にサブシステムを抽出できます。
sys(:,'controls')
既定では、InputGroup
はフィールドのない構造体です。
OutputName
— 出力チャネル名
''
(既定値) | 文字ベクトル | 文字ベクトルの cell 配列
出力チャネル名。次のいずれかとして指定されます。
文字ベクトル (単出力モデルの場合)。
文字ベクトルの cell 配列 (多出力モデルの場合)。
''
(いずれの出力チャネルにも名前を指定しない場合)。
あるいは、自動的なベクトル拡張を使用して多出力モデルの出力名を割り当てることもできます。たとえば、sys
が 2 出力モデルである場合は、以下のように入力します。
sys.OutputName = 'measurements';
出力名は自動的に {'measurements(1)';'measurements(2)'}
へと拡張されます。
省略形表記 y
を使用して OutputName
プロパティを参照することもできます。たとえば、sys.y
は sys.OutputName
と同じです。
OutputName
の使用目的は次のとおりです。
モデル表示とプロット上のチャネルの識別
MIMO システムのサブシステムの抽出
モデル相互接続時における接続点の指定
OutputUnit
— 出力チャネル単位
''
(既定値) | 文字ベクトル | 文字ベクトルの cell 配列
出力チャネル単位。次のいずれかとして指定されます。
文字ベクトル (単出力モデルの場合)。
文字ベクトルの cell 配列 (多出力モデルの場合)。
''
(いずれの出力チャネルにも単位を指定しない場合)。
OutputUnit
を使用して出力信号の単位を指定します。OutputUnit
はシステムの動作に影響しません。
OutputGroup
— 出力チャネル グループ
構造体
出力チャネル グループ。構造体として指定します。OutputGroup
プロパティを使用して、MIMO システムの出力チャネルをグループに割り当て、各グループを名前で参照します。OutputGroup
のフィールド名はグループ名であり、フィールドの値は各グループの出力チャネルです。たとえば、出力チャネル 1
、および 3
と 5
をそれぞれ含む、temperature
および measurement
という名前の出力グループを作成します。
sys.OutputGroup.temperature = [1]; sys.OutputGroup.measurement = [3 5];
その後、以下を使用してすべての入力から measurement
出力にサブシステムを抽出できます。
sys('measurement',:)
既定では、OutputGroup
はフィールドのない構造体です。
Name
— システム名
''
(既定値) | 文字ベクトル
システム名。文字ベクトルとして指定します。たとえば、'system_1'
とします。
Notes
— ユーザー指定のテキスト
{}
(既定値) | 文字ベクトル | 文字ベクトルの cell 配列
システムに関連付けるユーザー指定のテキスト。文字ベクトルまたは文字ベクトルの cell 配列として指定します。たとえば、'System is MIMO'
とします。
UserData
— ユーザー指定のデータ
[]
(既定値) | 任意の MATLAB® データ型
システムに関連付けるユーザー指定のデータ。任意の MATLAB データ型として指定します。
SamplingGrid
— モデル配列のサンプリング グリッド
構造体配列
モデル配列のサンプリング グリッド。構造体配列として指定します。
SamplingGrid
を使用して、モデル配列の各モデルに関連付けられている変数値を追跡します。これには同定された線形時不変 (IDLTI) モデル配列も含まれます。
構造体のフィールド名をサンプリング変数の名前に設定します。フィールドの値を、配列内の各モデルに関連付けられているサンプリングされた変数の値に設定します。すべてのサンプリング変数は数値スカラーでなければならず、サンプル値のすべての配列はモデル配列の次元と一致しなければなりません。
たとえば、t = 0:10
の各時点で線形時変システムのスナップショットを記録することにより、線形モデルの 11 行 1 列の配列 sysarr
を作成することができます。次のコードは線形モデルでの時間サンプルを格納します。
sysarr.SamplingGrid = struct('time',0:10)
同様に、2 つの変数 zeta
と w
を個別にサンプリングすることにより、6 行 9 列のモデル配列 M
を作成できます。次のコードは (zeta,w)
の値を M
にマッピングします。
[zeta,w] = ndgrid(<6 values of zeta>,<9 values of w>) M.SamplingGrid = struct('zeta',zeta,'w',w)
M
を表示する際、配列の各エントリは対応する zeta
と w
の値を取り込みます。
M
M(:,:,1,1) [zeta=0.3, w=5] = 25 -------------- s^2 + 3 s + 25 M(:,:,2,1) [zeta=0.35, w=5] = 25 ---------------- s^2 + 3.5 s + 25 ...
複数のパラメーター値または操作点で Simulink モデルを線形化することにより生成されたモデル配列の場合、SamplingGrid
には配列の各エントリに対応する変数値が自動的に入力されます。たとえば、Simulink Control Design のコマンド linearize
(Simulink Control Design) および slLinearizer
(Simulink Control Design) により、SamplingGrid
が自動的に入力されます。
既定では、SamplingGrid
はフィールドのない構造体です。
オブジェクト関数
以下のリストには、frd
モデルで使用できる関数の代表的なサブセットが含まれています。一般に、動的システム モデルに適用できる多くの関数も frd
オブジェクトに適用できます。frd
モデルは、すべての時間領域解析関数で機能しません。
周波数応答解析
モデルの変換
chgFreqUnit | 周波数応答データ モデルの周波数単位の変更 |
chgTimeUnit | 動的システムの時間単位の変更 |
frdfun | frd モデル オブジェクトの各周波数での周波数応答値への関数の適用 |
fselect | FRD モデルの周波数点、または範囲の選択 |
interp | FRD モデルの内挿 |
fcat | 周波数領域に沿って FRD モデルを連結 |
fnorm | FRD モデルの点ごとのピーク ゲイン |
コントローラー設計
pidtune | 線形プラント モデルのための PID 調整アルゴリズム |
例
SISO 周波数応答データ モデル
周波数応答データから frd
オブジェクトを作成します。
この例では、水タンク モデル用に収集された周波数応答データを読み込みます。
load wtankData.mat
このデータには、周波数範囲 rad/s から rad/s までについて収集された周波数応答データが含まれます。
モデルを作成します。
sys = frd(response,frequency)
sys = Frequency(rad/s) Response ---------------- -------- 0.0010 1.562e+01 - 1.9904i 0.0018 1.560e+01 - 2.0947i 0.0034 1.513e+01 - 3.3670i 0.0062 1.373e+01 - 5.4306i 0.0113 1.047e+01 - 7.5227i 0.0207 5.829e+00 - 7.6529i 0.0379 2.340e+00 - 5.6271i 0.0695 7.765e-01 - 3.4188i 0.1274 2.394e-01 - 1.9295i 0.2336 7.216e-02 - 1.0648i 0.4281 2.157e-02 - 0.5834i 0.7848 6.433e-03 - 0.3188i 1.4384 1.916e-03 - 0.1740i 2.6367 5.705e-04 - 0.0950i 4.8329 1.698e-04 - 0.0518i 8.8587 5.055e-05 - 0.0283i 16.2378 1.505e-05 - 0.0154i 29.7635 4.478e-06 - 0.0084i 54.5559 1.333e-06 - 0.0046i 100.0000 3.967e-07 - 0.0025i Continuous-time frequency response.
sys
をプロットします。
bode(sys)
離散時間 MIMO 周波数応答データ モデル
この例では、ランダムに生成された応答データと周波数について考えます。
3 x 2 x 7 の複素数配列と、0.01 rad/s から 100 rad/s までの間の 7 つの点をもつ周波数ベクトルを生成します。サンプル時間 Ts
を 5 秒に設定します。
rng(0) r = randn(3,2,7)+1i*randn(3,2,7); w = logspace(-2,2,7); Ts = 5;
モデルを作成します。
sys = frd(r,w,Ts)
sys = From input 1 to: Frequency(rad/s) output 1 output 2 output 3 ---------------- -------- -------- -------- 0.0100 0.5377 + 0.3192i 1.8339 + 0.3129i -2.2588 - 0.8649i 0.0464 -0.4336 + 1.0933i 0.3426 + 1.1093i 3.5784 - 0.8637i 0.2154 0.7254 - 0.0068i -0.0631 + 1.5326i 0.7147 - 0.7697i 1.0000 1.4090 - 1.0891i 1.4172 + 0.0326i 0.6715 + 0.5525i 4.6416 0.4889 - 1.4916i 1.0347 - 0.7423i 0.7269 - 1.0616i 21.5443 0.8884 - 0.1924i -1.1471 + 0.8886i -1.0689 - 0.7648i 100.0000 0.3252 - 0.1774i -0.7549 - 0.1961i 1.3703 + 1.4193i From input 2 to: Frequency(rad/s) output 1 output 2 output 3 ---------------- -------- -------- -------- 0.0100 0.8622 - 0.0301i 0.3188 - 0.1649i -1.3077 + 0.6277i 0.0464 2.7694 + 0.0774i -1.3499 - 1.2141i 3.0349 - 1.1135i 0.2154 -0.2050 + 0.3714i -0.1241 - 0.2256i 1.4897 + 1.1174i 1.0000 -1.2075 + 1.1006i 0.7172 + 1.5442i 1.6302 + 0.0859i 4.6416 -0.3034 + 2.3505i 0.2939 - 0.6156i -0.7873 + 0.7481i 21.5443 -0.8095 - 1.4023i -2.9443 - 1.4224i 1.4384 + 0.4882i 100.0000 -1.7115 + 0.2916i -0.1022 + 0.1978i -0.2414 + 1.5877i Sample time: 5 seconds Discrete-time frequency response.
指定されたデータは、結果として 2 入力、3 出力の frd
モデルとなります。
継承されたプロパティをもつ周波数応答データ モデル
この例では、伝達関数モデルから継承されたプロパティをもつ周波数応答データ モデルを作成します。
TimeUnit
プロパティが 'minutes'
に、InputDelay
プロパティが 3 に設定された伝達関数 sys1
を作成します。
numerator1 = [2,0]; denominator1 = [1,8,0]; sys1 = tf(numerator1,denominator1,'TimeUnit','minutes','InputDelay',3)
sys1 = 2 s exp(-3*s) * --------- s^2 + 8 s Continuous-time transfer function.
propValues1 = {sys1.TimeUnit,sys1.InputDelay}
propValues1=1×2 cell array
{'minutes'} {[3]}
sys1
から継承されたプロパティをもつ frd
モデルを作成します。
rng(0) response = randn(1,1,7)+1i*randn(1,1,7); w = logspace(-2,2,7); sys2 = frd(response,w,sys1)
sys2 = Frequency(rad/minute) Response --------------------- -------- 0.0100 0.5377 + 0.3426i 0.0464 1.8339 + 3.5784i 0.2154 -2.2588 + 2.7694i 1.0000 0.8622 - 1.3499i 4.6416 0.3188 + 3.0349i 21.5443 -1.3077 + 0.7254i 100.0000 -0.4336 - 0.0631i Input delays (minutes): 3 Continuous-time frequency response.
propValues2 = {sys2.TimeUnit,sys2.InputDelay}
propValues2=1×2 cell array
{'minutes'} {[3]}
frd
モデル sys2
が sys1
と同じプロパティをもっていることを確認します。
周波数応答データ モデルの状態名と入力名の指定
この例では、水タンク モデル用に収集された周波数応答データを読み込みます。
load wtankData.mat
このモデルには 1 つの入力 Voltage と 1 つの出力 Water height があります。
入力名と出力名を指定して、frd
モデルを作成します。
sys = frd(response,frequency,'InputName','Voltage','OutputName','Height');
周波数応答をプロットします。
bode(sys)
入力名と出力名がボード線図に表示されます。入力と出力に名前を付けるのは、MIMO システムで応答プロットを扱うときに有用である可能性があります。
状態空間モデルを周波数応答データ モデルに変換
この例では、次の状態空間モデルの frd
モデルを計算します。
状態空間行列を使用して状態空間モデルを作成します。
A = [-2 -1;1 -2]; B = [1 1;2 -1]; C = [1 0]; D = [0 1]; ltiSys = ss(A,B,C,D);
状態空間モデル ltiSys
を周波数 0.01 rad/s から 100 rad/s までの間について frd
モデルに変換します。
w = logspace(-2,2,50); sys = frd(ltiSys,w);
周波数応答を比較します。
bode(ltiSys,'b',sys,'r--')
応答は一致します。
周波数応答データ モデルの配列
frd
モデルの配列を作成するには、周波数応答データの多次元配列を指定できます。
たとえば、サイズ [NY
NU
NF
S1
... Sn
] の数値配列として応答データを指定する場合、関数は frd
モデルの S1
x ...-x Sn
の配列を返します。これらの各モデルには NY
の出力、NU
の入力、および NF
の周波数点があります。
0.1 rad/s から 10 rad/s までの間の 10 の周波数点において、1 出力、2 入力をもつモデルについて、2 行 3 列のランダムな応答データの配列を生成します。
w = logspace(-1,1,10); r = randn(1,2,10,2,3)+1i*randn(1,2,10,2,3); sys = frd(r,w);
モデルの配列からインデックス (2,1) でモデルを抽出します。
sys21 = sys(:,:,2,1)
sys21 = From input 1 to: Frequency(rad/s) output 1 ---------------- -------- 0.1000 0.6715 + 0.0229i 0.1668 0.7172 - 1.7502i 0.2783 0.4889 - 0.8314i 0.4642 0.7269 - 1.1564i 0.7743 0.2939 - 2.0026i 1.2915 0.8884 + 0.5201i 2.1544 -1.0689 - 0.0348i 3.5938 -2.9443 + 1.0187i 5.9948 0.3252 - 0.7145i 10.0000 1.3703 - 0.2248i From input 2 to: Frequency(rad/s) output 1 ---------------- -------- 0.1000 -1.2075 - 0.2620i 0.1668 1.6302 - 0.2857i 0.2783 1.0347 - 0.9792i 0.4642 -0.3034 - 0.5336i 0.7743 -0.7873 + 0.9642i 1.2915 -1.1471 - 0.0200i 2.1544 -0.8095 - 0.7982i 3.5938 1.4384 - 0.1332i 5.9948 -0.7549 + 1.3514i 10.0000 -1.7115 - 0.5890i Continuous-time frequency response.
負の周波数をもつ周波数応答データ モデル
frd オブジェクトで負の周波数値を指定できます。この機能は、複素係数をもつモデルの周波数応答データを取得するときに有用です。
正の値と負の値の両方をもつ周波数ベクトルを作成します。
w0 = sort([-logspace(-2,2,50) 0 logspace(-2,2,50)]);
複素係数をもつ状態空間モデルを作成します。
A = [-3.50,-1.25-0.25i;2,0]; B = [1;0]; C = [-0.75-0.5i,0.625-0.125i]; D = 0.5; Gc = ss(A,B,C,D);
このモデルを、指定された周波数で frd モデルに変換します。
sys = frd(Gc,w0);
モデルの周波数応答をプロットします。
bode(Gc,'b',sys,'r--')
このプロット応答はほぼ一致します。プロットは、複素係数をもつモデルに対して、1 つは右向き矢印を使った正の周波数、もう 1 つは左向き矢印を使った負の周波数の 2 つの分岐を示します。両方の分岐で、矢印は周波数の増加の方向を示します。
バージョン履歴
R2006a より前に導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)