# bode

ボード線図

## 呼び出し手順

    bode(sl,[fmin,fmax] [,step] [,comments] )
                bode(sl,frq [,comments] )
                bode(frq,db,phi [,comments])
                bode(frq, repf [,comments])

## 引数

sl

  連続時間系または離散時間系の `syslin` リスト (SISO または SIMO 線形システム).

fmin,fmax

  real (周波数範囲 (単位: Hz))

step

  real (対数単位の増分ステップ.)

comments

  文字列のベクトル (キャプション).

frq

  行ベクトルまたは行列 (周波数 (単位:Hz) ) (各行が各SISOサブシステムに対応).

db

  行ベクトルまたは行列 ( ゲイン (単位:dB)). (各行が各SISOサブシステムに対応).

phi

  行ベクトルまたは行列 ( 位相 (単位:度)) (各行が各SISOサブシステムに対応).

repf

  複素数(複素数を含む周波数応答)の行ベクトルまたは行列.

## 説明

ボード線図,すなわち,`sl`の周波数応答の ゲインと位相.

`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`により 行われます.

位相/ゲイン曲線に沿ったデータを表示するために

- データティップ
ツールを使用することができます.

## 例

    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))
    clf();bode(h,0.01,100);

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)) clf();bode(h,0.01,100);

    s=poly(0,'s')
    h1=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01))
    num=22801+4406.18*s+382.37*s^2+21.02*s^3+s^4;
    den=22952.25+4117.77*s+490.63*s^2+33.06*s^3+s^4
    h2=syslin('c',num/den);

    clf();bode([h1;h2],0.01,100,['h1';'h2'])

s=poly(0,'s') h1=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) num=22801+4406.18*s+382.37*s^2+21.02*s^3+s^4; den=22952.25+4117.77*s+490.63*s^2+33.06*s^3+s^4 h2=syslin('c',num/den); clf();bode([h1;h2],0.01,100,['h1';'h2'])

## 参照

- black
- nyquist
- gainplot
- repfreq
- g_margin
- p_margin
- calfrq
- phasemag
- datatips