nyquist
ナイキスト線図
呼び出しの手順
nyquist( sl,[fmin,fmax] [,step] [,comments] [,symmetry]) nyquist( sl, frq [,comments] [,symmetry]) nyquist(frq,db,phi [,comments] [,symmetry]) nyquist(frq, repf [,comments] [,symmetry])
引数
- sl
連続または離散時間 SIMO 線形システム ( 参照: syslin).
- fmin,fmax
スカラー (周波数範囲の境界(単位:Hz))
- step
real (対数単位の離散化増分), 指定されない場合,適応型離散化が行われます.
- commments
文字列ベクトル (キャプション).
- symmetry
論理値, デフォルト値は %t.
- frq
周波数のベクトルまたは行列 (単位: Hz) (各行が
sl
の各出力に対応).- db,phi
ゲイン(単位:dB)および位相(単位:度)の行列 (各行が
sl
の各出力に対応).- repf
周波数応答を表す複素行列. (各行が
sl
の各出力に対応).
説明
ナイキスト線図は,
sl
の周波数応答の虚部と実部の関係をプロットします.
symmetry
引数がtrueまたは省略された場合,
ナイキスト線図は対称グラフを表示します(正および負の周波数).
連続時間システムの場合, sl(2*%i*%pi*w)
が
プロットされます.
離散時間システムまたは離散化されたシステムの場合,
sl(exp(2*%i*%pi*w*fd)
が使用されます.
(離散時間システムの場合は fd=1
,
離散化されたシステムの場合は fd=sl('dt')
)
sl
は
連続時間または離散時間 SIMOシステム (syslin
参照)と
することができます.
多出力系の場合,各出力は異なる記号でプロットされます.
周波数は範囲の境界 fmin,fmax
(単位: Hz)
または行ベクトル (多出力系の場合は行列) frq
で指定すします
step
は (対数表現の) 離散刻みです.
(デフォルト値の選択については calfrq
を参照).
comments
は(キャプション)文字列のベクトルです.
db,phi
はゲイン(単位:dB)および位相(単位:度)の
行列です (各行が各応答に対応します).
repf
は複素行列です.
各行が各応答に対応します.
fmin
およびfmax
のデフォルト値は,
sl
が連続時間系の場合に
1.d-3
,1.d+3
,
sl
が離散時間系の場合に1.d-3
,
0.5
/sl.dt (ナイキスト周波数)
となります.
周波数の自動離散化はcalfrq により行われます.
選択された点における周波数の値を得るには, データティップマネージャを 有効にし,ナイキスト線図の任意の点をクリックします.
グラフィックエンティティの構築
nyquist
関数は各SISOシステムの複合オブジェクトを
作成します.
以下のコードにより,i番目のシステムの複合オブジェクトのハンドルを取得
することができます:
ax=gca();//カレントの軸のハンドル hi=ax.children($+i-1)// i番目のシステムの複合オブジェクトのハンドル
この複合オブジェクトは2つの子を有します: 小さな矢印(小さな線分群の集合)と曲線ラベル(テキストの複合要素) を定義する複合オブジェクトおよび曲線自体の線分群. 以下のコードは,特定のナイキスト線図の表示をカスタマイズする方法を 示します.
hi.children(1).visible='off'; //矢印とラベルを隠す hi.children(2).thickness=2; //曲線を太くする
例
//ナイキスト線図 s=poly(0,'s') h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); h1=h*syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) clf(); nyquist(h1) // データティップを追加 ax=gca(); h_h=ax.children($).children(2);//hのナイキスト線図のハンドル tip=datatipCreate(h_h,[1.331,0.684]); datatipSetOrientation(tip,"upper left");
//ナイキスト線図のグリッドによるホール図 s=poly(0,'s'); Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); //2自由度PID tau=0.2;xsi=1.2; PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau^2*s^2)); clf(); nyquist([Plant;Plant*PID],0.5,100,["Plant";"Plant and PID corrector"]); hallchart(colors=color('light gray')*[1 1]) //右下隅に凡例を移動 ax=gca();Leg=ax.children(1); Leg.legend_location="in_upper_left";
参照
Report an issue | ||
<< nicholschart | Frequency Domain | nyquistfrequencybounds >> |