bode ボード線図

## 呼び出し手順

                bode(sl)
                bode(sl, fmin, fmax)
                bode(sl, fmin, fmax, step)
                bode(sl, frq)
                bode(frq, db, phi)
                bode(frq, repf)
                bode(.., Captions)
                bode(.., "rad")

## 引数

sl

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

fmin,fmax

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

step

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

frq

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

db

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

phi

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

repf

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

Captions

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

"rad"

  as last optional argument: displays the Bode plot versus Angular frequencies in rad/s, instead of versus frequencies in Hz.

## 説明

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

`sl` は,連続時間系または離散時間系の SIMOシステム (`syslin`参照)とすることができます. 多出力系の場合,各出力は異なる記号でプロットされます.

周波数は範囲の境界値 `fmin,fmax` (単位: Hz) または行ベクトル (多出力系の場合は行列) `frq`で 指定します.

`step` は(指数単位の)離散化増分です. (デフォルト値の選定方法については,`calfrq` を参照).

`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'])

    s = %s;
    G = (10*(s+3)) / (s*(s+2)*(s^2+s+2)); // A rational matrix
    sys = syslin('c', G); // A continuous-time linear system in transfer matrix representation.
    f_min = .0001; f_max = 15; // Frequencies in Hz

    clf
    bode(sys, f_min, f_max, "rad"); // Converts Hz to rad/s

s = %s; G = (10*(s+3))/(s*(s+2)*(s^2+s+2)); // A rational matrix sys = syslin('c', G); // A continuous-time linear system in transfer matrix representation. f_min = .0001; f_max = 15; // Frequencies in Hz clf(); bode(sys, f_min, f_max, "rad"); // Converts Hz to rad/s

## 参照

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

## 履歴

5.5.0

`"rad"` option added.

6.0

handling zpk representation