最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。
周波数応答のナイキスト線図
nyquist(sys)
nyquist(sys,w)
nyquist(sys1,sys2,...,sysN)
nyquist(sys1,sys2,...,sysN,w)
nyquist(sys1,'PlotStyle1',...,sysN,'PlotStyleN')
[re,im,w] = nyquist(sys)
[re,im]
= nyquist(sys,w)
[re,im,w,sdre,sdim] = nyquist(sys)
nyquist
は、動的システム モデルの周波数応答のナイキスト線図を作成します。左辺引数なしで実行した場合、nyquist
は画面にナイキスト線図を作成します。ナイキスト線図は、ゲイン余裕、位相余裕、安定性などのシステム プロパティの解析に使用されます。
nyquist(sys)
は動的システム sys
のナイキスト線図を作成します。このモデルは、連続または離散、SISO または MIMO のいずれでも可能です。MIMO の場合、nyquist
はナイキスト線図の配列を作成します。各プロットは 1 つの特定の I/O チャネルの応答を示します。周波数点はシステムの極および零点に基づいて自動的に選択されます。
nyquist(sys,w)
は、プロットに使われる周波数範囲または周波数点を明示的に指定します。ある特定の周波数間隔に焦点を当てるには、w
= {wmin,wmax}
と設定してください。ある特定の周波数点を使用するためには、w
を適切な周波数のベクトルに設定してください。対数間隔の周波数ベクトルを作成するためには、logspace
を使用してください。周波数は rad/TimeUnit
単位でなければなりません。このとき、TimeUnit
は sys
の TimeUnit
プロパティで指定される、入力動的システムの時間単位です。
nyquist(sys1,sys2,...,sysN)
または nyquist(sys1,sys2,...,sysN,w)
は複数の LTI モデルのナイキスト線図を 1 つの図に重ねます。すべてのシステムで同数の入力と出力を使用しなければなりませんが、連続時間システムと離散時間システムは組み合わせても構いません。構文 nyquist(sys1,'PlotStyle1',...,sysN,'PlotStyleN')
を使用して、システム プロットごとに独特の色、ラインスタイル、マーカーを指定することもできます。
[re,im,w] = nyquist(sys)
と [re,im]
= nyquist(sys,w)
は、w
の周波数 (rad/TimeUnit
単位) における周波数応答の実数部と虚数部を返します。re
と im
は 3 次元配列です (詳細は以下の「引数」を参照)。
[re,im,w,sdre,sdim] = nyquist(sys)
は、特定されたシステム sys
の re
および im
の標準偏差も返します。
出力引数 re
と im
は、次の次元をもつ 3 次元配列です。
SISO システムの場合、スカラー値の re(1,1,k)
と im(1,1,k)
は周波数 ωk = w(k) の応答の実数部と虚数部になります。
伝達関数H(s) をもつ MIMO システムでは、re(:,:,k)
と im(:,:,k)
が H(jωk) の実数部と虚数部になります (いずれの配列も出力と同じ数の行、入力と同じ数の列をもちます)。したがって、次のようになります。
ここで hij は入力 j から出力 i までの伝達関数になります。
システムのナイキスト応答をプロットします。
H = tf([2 5 1],[1 2 3]); nyquist(H)
ナイキスト関数では M-circle がサポートされています。これは定数閉ループ ゲインの等高線です。M-circle は複素数の軌跡として定義されます。ここで、
は定数値です。この方程式で、ω はラジアン/TimeUnit の周波数で、TimeUnit
はシステム時間単位であり、G は定数ゲイン要件を満たす複素数の集合になります。
グリッドをアクティブにするには、右クリック メニューで [グリッド] を選択するか、以下のように入力します。
grid
この入力は、MATLAB® プロンプトで行います。この図は伝達関数 H
の M-circle を示します。
右クリック メニューには、ナイキスト線図に特に適用される 2 つのズーム オプションがあります。
タイト —ナイキスト線図の制約されていない分岐を切り取りますが、臨界点 (-1, 0) が含まれます。
On (-1,0) — 臨界点付近 (-1,0) をズームします。
また、曲線上の任意の場所をクリックすると、データ マーカーがアクティブになり、与えられた周波数の実数値と虚数値が表示されます。次の図は、データ マーカー付きのナイキスト線図を示しています。
同定されたモデルの周波数応答の実数部と虚数部の標準偏差を計算します。このデータを使用して、応答の不確かさの 3σ プロットを作成します。
推定データ z2
を読み込みます。
load iddata2 z2;
データを使用して伝達関数モデルを特定します。
sys_p = tfest(z2,2);
512 個の周波数のセット w
について、周波数応答の実数部と虚数部の標準偏差を取得します。
w = linspace(-10*pi,10*pi,512); [re,im,wout,sdre,sdim] = nyquist(sys_p,w);
ここで re
と im
は周波数応答の実数部と虚数部、sdre
と sdim
はそれぞれの標準偏差です。wout
の周波数は、w
で指定した周波数と同じです。
応答とその 3σ の不確かさを示すナイキスト線図を作成します。
re = squeeze(re); im = squeeze(im); sdre = squeeze(sdre); sdim = squeeze(sdim); plot(re,im,'b',re+3*sdre,im+3*sdim,'k:',re-3*sdre,im-3*sdim,'k:') xlabel('Real Axis'); ylabel('Imaginary Axis');
単位などのプロットのプロパティを変更することができます。プロットのプロパティの変更方法の詳細は、プロットをカスタマイズする方法を参照してください。
bode
を参照してください。