Main Content

nicholsoptions

ニコルス線図オプションの一覧を作成

    説明

    NicholsOptions コマンドを使用して、nicholsoptions オブジェクトを作成し、ニコルス線図の外観をカスタマイズします。また、このコマンドを使用して、ニコルス線図を作成する MATLAB® セッションの [プロット基本設定] の設定をオーバーライドすることもできます。

    作成

    説明

    plotoptions = nicholsoptions は、nicholsplot コマンドで使用するプロット オプションの既定のセットを返します。これらのオプションを使用して、コマンド ラインからニコルス線図の外観をカスタマイズできます。同じ外観のプロットを生成するスクリプトを記述する場合、スクリプトを実行する MATLAB セッションの基本設定にかかわらず、この構文が有用です。

    plotoptions = nicholsoptions('cstprefs') は、Control System Toolbox™ 基本設定エディターで選択したオプションでプロット オプションを初期化します。エディターの詳細については、ツールボックス基本設定を参照してください。プロット オプションを少しだけ変更し、その他は既定の基本設定を使用する場合、この構文が有用です。この構文を使用するスクリプトは、異なる設定のセッションで実行すると、異なる結果が生じる場合があります。

    プロパティ

    すべて展開する

    周波数単位。以下のいずれかの値として指定。

    • 'Hz'

    • 'rad/s'

    • 'rpm'

    • 'kHz'

    • 'MHz'

    • 'GHz'

    • 'rad/nanosecond'

    • 'rad/microsecond'

    • 'rad/millisecond'

    • 'rad/minute'

    • 'rad/hour'

    • 'rad/day'

    • 'rad/week'

    • 'rad/month'

    • 'rad/year'

    • 'cycles/nanosecond'

    • 'cycles/microsecond'

    • 'cycles/millisecond'

    • 'cycles/hour'

    • 'cycles/day'

    • 'cycles/week'

    • 'cycles/month'

    • 'cycles/year'

    振幅の下限モード。'auto' または 'manual' として指定します。

    振幅の下限値。スカラーとして指定します。

    位相単位。それぞれ度またはラジアンに変更する 'deg' または 'rad' として指定します。

    位相ラッピングの有効化。'on' または 'off' として指定します。PhaseWrapping'on' に設定すると、PhaseWrappingBranch プロパティで指定された値で、プロットによって累積位相がラップされます。

    PhaseWrapping'on' に設定された場合に、プロットによって累積位相がラップされる位相ラッピング値。既定では、位相は [-180°,180°] の範囲にラップします。

    位相の一致を有効化。'on' または 'off' として指定します。PhaseMatching を 'on' にすると、位相は PhaseMatchingFreq で指定された周波数で PhaseMatchingValue で指定された値に一致します。

    位相の一致の周波数。スカラーとして指定します。

    位相の一致の応答値。スカラーとして指定します。

    入出力 (I/O) ペアのグループ化。次のいずれかとして指定します。

    • 'none' — 入出力のグループ化は行われません。

    • 'inputs' — 入力のみをグループ化します。

    • 'outputs' — 出力のみをグループ化します。

    • 'all' — すべての I/O ペアをグループ化します。

    入力ラベルのスタイル。次のフィールドをもつ構造体として指定します。

    • FontSize — フォント サイズ。0 より大きいスカラー値としてポイント単位で指定します。既定のフォント サイズは、特定のオペレーティング システムとロケールによって異なります。1 ポイントは 1/72 インチです。

    • FontWeight — 文字の太さ。'Normal' または 'bold' として指定します。MATLAB は、FontWeight プロパティを使用して、システムで利用できるフォントから 1 つのフォントを選択します。すべてのフォントに太字があるとは限りません。そのため、太字フォントを指定しても標準フォントの太さと変わらない場合があります。

    • FontAngle — 文字の傾斜。'Normal' または 'italic' として指定します。すべてのフォントに両方のフォント スタイルがあるとは限りません。そのため、イタリック フォントでも標準フォントと見た目が変わらない場合があります。

    • Color — テキストの色。RGB 3 成分として指定します。既定の色は、RGB 3 成分 [0.4,0.4,0.4] を含む濃いグレーです。

    • Interpreter — テキスト インタープリター。次の値のいずれかとして指定します。

      • 'tex' — TeX マークアップのサブセットを使用して文字を解釈します。これは、Interpreter の既定値です。

      • 'latex' — LaTeX マークアップを使用して文字を解釈します。

      • 'none' — リテラル文字を表示します。

    出力ラベルのスタイル。次のフィールドをもつ構造体として指定します。

    • FontSize — フォント サイズ。0 より大きいスカラー値としてポイント単位で指定します。既定のフォント サイズは、特定のオペレーティング システムとロケールによって異なります。1 ポイントは 1/72 インチです。

    • FontWeight — 文字の太さ。'Normal' または 'bold' として指定します。MATLAB は、FontWeight プロパティを使用して、システムで利用できるフォントから 1 つのフォントを選択します。すべてのフォントに太字があるとは限りません。そのため、太字フォントを指定しても標準フォントの太さと変わらない場合があります。

    • FontAngle — 文字の傾斜。'Normal' または 'italic' として指定します。すべてのフォントに両方のフォント スタイルがあるとは限りません。そのため、イタリック フォントでも標準フォントと見た目が変わらない場合があります。

    • Color — テキストの色。RGB 3 成分として指定します。既定の色は、RGB 3 成分 [0.4,0.4,0.4] を含む濃いグレーです。

    • Interpreter — テキスト インタープリター。次の値のいずれかとして指定します。

      • 'tex' — TeX マークアップのサブセットを使用して文字を解釈します。これは、Interpreter の既定値です。

      • 'latex' — LaTeX マークアップを使用して文字を解釈します。

      • 'none' — リテラル文字を表示します。

    入力の表示の切り替え。{'on'}{'off'} または複数の要素をもつ cell 配列として指定します。

    出力の表示の切り替え。{'on'}{'off'} または複数の要素をもつ cell 配列として指定します。

    タイトルのテキストとスタイル。次のフィールドをもつ構造体として指定します。

    • String — ラベル テキスト。文字ベクトルとして指定します。既定では、プロットは 'ニコルス線図' というタイトルになります。

    • FontSize — フォント サイズ。0 より大きいスカラー値としてポイント単位で指定します。既定のフォント サイズは、特定のオペレーティング システムとロケールによって異なります。1 ポイントは 1/72 インチです。

    • FontWeight — 文字の太さ。'Normal' または 'bold' として指定します。MATLAB は、FontWeight プロパティを使用して、システムで利用できるフォントから 1 つのフォントを選択します。すべてのフォントに太字があるとは限りません。そのため、太字フォントを指定しても標準フォントの太さと変わらない場合があります。

    • FontAngle — 文字の傾斜。'Normal' または 'italic' として指定します。すべてのフォントに両方のフォント スタイルがあるとは限りません。そのため、イタリック フォントでも標準フォントと見た目が変わらない場合があります。

    • Color — テキストの色。RGB 3 成分として指定します。既定の色は、RGB 3 成分 [0,0,0] で指定された黒です。

    • Interpreter — テキスト インタープリター。次の値のいずれかとして指定します。

      • 'tex' — TeX マークアップのサブセットを使用して文字を解釈します。これは、Interpreter の既定値です。

      • 'latex' — LaTeX マークアップを使用して文字を解釈します。

      • 'none' — リテラル文字を表示します。

    X 軸のラベル テキストとスタイル。次のフィールドをもつ構造体として指定します。

    • String — ラベル テキスト。文字ベクトルとして指定します。既定では、軸は周波数単位 FreqUnits に基づいたタイトルになります。

    • FontSize — フォント サイズ。0 より大きいスカラー値としてポイント単位で指定します。既定のフォント サイズは、特定のオペレーティング システムとロケールによって異なります。1 ポイントは 1/72 インチです。

    • FontWeight — 文字の太さ。'Normal' または 'bold' として指定します。MATLAB は、FontWeight プロパティを使用して、システムで利用できるフォントから 1 つのフォントを選択します。すべてのフォントに太字があるとは限りません。そのため、太字フォントを指定しても標準フォントの太さと変わらない場合があります。

    • FontAngle — 文字の傾斜。'Normal' または 'italic' として指定します。すべてのフォントに両方のフォント スタイルがあるとは限りません。そのため、イタリック フォントでも標準フォントと見た目が変わらない場合があります。

    • Color — テキストの色。RGB 3 成分として指定します。既定の色は、RGB 3 成分 [0,0,0] で指定された黒です。

    • Interpreter — テキスト インタープリター。次の値のいずれかとして指定します。

      • 'tex' — TeX マークアップのサブセットを使用して文字を解釈します。これは、Interpreter の既定値です。

      • 'latex' — LaTeX マークアップを使用して文字を解釈します。

      • 'none' — リテラル文字を表示します。

    Y 軸のラベル テキストとスタイル。次のフィールドをもつ構造体として指定します。

    • String — ラベル テキスト。文字ベクトルの cell 配列として指定します。既定では、軸のタイトルは '開ループ ゲイン (dB)' です。

    • FontSize — フォント サイズ。0 より大きいスカラー値としてポイント単位で指定します。既定のフォント サイズは、特定のオペレーティング システムとロケールによって異なります。1 ポイントは 1/72 インチです。

    • FontWeight — 文字の太さ。'Normal' または 'bold' として指定します。MATLAB は、FontWeight プロパティを使用して、システムで利用できるフォントから 1 つのフォントを選択します。すべてのフォントに太字があるとは限りません。そのため、太字フォントを指定しても標準フォントの太さと変わらない場合があります。

    • FontAngle — 文字の傾斜。'Normal' または 'italic' として指定します。すべてのフォントに両方のフォント スタイルがあるとは限りません。そのため、イタリック フォントでも標準フォントと見た目が変わらない場合があります。

    • Color — テキストの色。RGB 3 成分として指定します。既定の色は、RGB 3 成分 [0,0,0] で指定された黒です。

    • Interpreter — テキスト インタープリター。次の値のいずれかとして指定します。

      • 'tex' — TeX マークアップのサブセットを使用して文字を解釈します。これは、Interpreter の既定値です。

      • 'latex' — LaTeX マークアップを使用して文字を解釈します。

      • 'none' — リテラル文字を表示します。

    目盛りラベルのスタイル。次のフィールドをもつ構造体として指定。

    • FontSize — フォント サイズ。0 より大きいスカラー値としてポイント単位で指定します。既定のフォント サイズは、特定のオペレーティング システムとロケールによって異なります。1 ポイントは 1/72 インチです。

    • FontWeight — 文字の太さ。'Normal' または 'bold' として指定します。MATLAB は、FontWeight プロパティを使用して、システムで利用できるフォントから 1 つのフォントを選択します。すべてのフォントに太字があるとは限りません。そのため、太字フォントを指定しても標準フォントの太さと変わらない場合があります。

    • FontAngle — 文字の傾斜。'Normal' または 'italic' として指定します。すべてのフォントに両方のフォント スタイルがあるとは限りません。そのため、イタリック フォントでも標準フォントと見た目が変わらない場合があります。

    • Color — テキストの色。RGB 3 成分として指定します。既定の色は、RGB 3 成分 [0,0,0] で指定された黒です。

    プロットでのグリッド表示の切り替え。'off' または 'on' として指定します。

    グリッド ラインの色。RGB 3 成分として指定します。既定の色は、RGB 3 成分 [0.15,0.15,0.15] で指定された薄いグレーです。

    X 軸の範囲の選択モード。次のいずれかの値として指定します。

    • 'auto' — 自動範囲選択を有効にします。プロットされたデータの全範囲に基づきます。

    • 'manual' — 軸の範囲を手動で指定します。軸の範囲を指定するには、XLim プロパティを設定します。

    Y 軸の範囲の選択モード。次のいずれかの値として指定します。

    • 'auto' — 自動範囲選択を有効にします。プロットされたデータの全範囲に基づきます。

    • 'manual' — 軸の範囲を手動で指定します。軸の範囲を指定するには、YLim プロパティを設定します。

    X 軸の範囲。[min,max] 形式の 2 要素ベクトルの cell 配列として指定します。

    Y 軸の範囲。[min,max] 形式の 2 要素ベクトルの cell 配列として指定します。

    オブジェクト関数

    nicholsplot追加のプロット カスタマイズ オプションを使用してニコルス周波数応答をプロットする

    すべて折りたたむ

    この例では、プロット ハンドルを使用して、タイトルを変更し、グリッドをオンにして、軸の範囲を設定します。

    5 つの状態をもつランダムな状態空間モデルを生成し、プロット ハンドル h をもつニコルス線図を作成します。

    rng("default")
    sys = rss(5);
    h = nicholsplot(sys);

    Figure contains an axes object. The axes object contains an object of type line. This object represents sys.

    タイトルを変更し、グリッドを有効にして、軸の範囲を設定します。そのためには、setoptions を使用してプロット ハンドル h のプロパティを編集します。

    Title.String = 'Nichols Frequency Response';
    setoptions(h,'Title',Title,'Grid','on', 'XLim',{[-2,4]},'YLim',{[3.3,4.3]});

    Figure contains an axes object. The axes object contains an object of type line. This object represents sys.

    setoptions を呼び出すと、ニコルス線図は自動的に更新されます。

    または、nicholsoptions コマンドを使用して、必要なプロット オプションを指定することもできます。最初に、ツールボックス基本設定に基づいてオプション セットを作成します。

    plotoptions = nicholsoptions('cstprefs');

    オプション セットの必要なプロパティを変更します。

    plotoptions.Title.String = 'Nichols Frequency Response';
    plotoptions.Grid = 'on';
    plotoptions.XLim = {[-2,4]};
    plotoptions.YLim = {[3.3,4.3]};
    nicholsplot(sys,plotoptions);

    Figure contains an axes object. The axes object contains an object of type line. This object represents sys.

    同じオプション セットを使用して、同じカスタマイズを使用する複数のニコルス線図を作成できます。独自のツールボックス基本設定によっては、得られるプロットはこのプロットの外観と異なる場合があります。明示的に設定したプロパティ (この例では、TitleGridXLim、および YLim) のみが、ツールボックス基本設定をオーバーライドします。

    この例では、タイトルに 15 ポイントの赤いテキストを使用するニコルス線図を作成します。このプロットは、それを生成する MATLAB セッションの基本設定にかかわらず、外観が同じになります。

    最初に、nicholsoptions を使用して既定のオプション セットを作成します。

    plotoptions = nicholsoptions;

    次に、オプション セット plotoptions の必要なプロパティを変更します。

    plotoptions.Title.FontSize = 15;
    plotoptions.Title.Color = [1 0 0];
    plotoptions.FreqUnits = 'Hz';
    plotoptions.Grid = 'on';

    これで、オプション セット plotoptions を使用してニコルス線図を作成します。

    nicholsplot(tf(1,[1,1]),{0,15},plotoptions);

    Figure contains an axes object. The axes object contains an object of type line. This object represents untitled1.

    plotoptions は固定のオプション セットで開始されるため、プロットの結果は MATLAB セッションのツールボックス基本設定とは独立したものになります。

    この例では、次の連続時間 SISO 動的システムのニコルス線図を作成します。次に、グリッドをオンにして、プロットの名前を変更します。

    sys(s)=s2+0.1s+7.5s4+0.12s3+9s2.Continuous-time SISO dynamic system

    伝達関数 sys を作成します。

    sys = tf([1 0.1 7.5],[1 0.12 9 0 0]);

    次に、nicholsoptions を使用してオプション セットを作成し、必要なプロット プロパティを変更します。

    plotoptions = nicholsoptions;
    plotoptions.Grid = 'on';
    plotoptions.Title.String = 'Nichols Plot of Transfer Function';

    カスタムのオプション セット plotoptions を使用してニコルス線図を作成します。

    nicholsplot(sys,plotoptions)

    Figure contains an axes object. The axes object contains an object of type line. This object represents sys.

    nicholsplot はシステム ダイナミクスに基づいてプロット範囲を自動的に選択します。

    この例では、入力/出力データから同定されたパラメトリック モデルのニコルス応答を、同じデータを使用して同定されたノンパラメトリック モデルと比較します。データに基づいて、パラメトリック モデルとノンパラメトリック モデルを同定します。

    データを読み込み、tfest および spa をそれぞれ使用してパラメトリック モデルとノンパラメトリック モデルを作成します。

    load iddata2 z2;
    w = linspace(0,10*pi,128);
    sys_np = spa(z2,[],w);
    sys_p = tfest(z2,2);

    spatfest には System Identification Toolbox™ ソフトウェアが必要です。モデル sys_np はノンパラメトリックと同定されたモデルで、sys_p はパラメトリックと同定されたモデルです。

    位相の一致とグリッドをオンにするオプション セットを作成します。次に、このオプション セットを使用して両方のシステムを含むニコルス線図を作成します。

    plotoptions = nicholsoptions;  
    plotoptions.PhaseMatching = 'on';
    plotoptions.Grid = 'on';
    plotoptions.XLim = {[-240,0]};
    h = nicholsplot(sys_p,'r.-.',sys_np,'b.-.',w,plotoptions);
    legend('Parametric Model','Non-Parametric model');

    Figure contains an axes object. The axes object with title From: u1 To: y1 contains 2 objects of type line. These objects represent Parametric Model, Non-Parametric model.

    オプション セットを作成し、位相単位およびグリッド オプションを設定します。

    P = nicholsoptions; 
    P.PhaseUnits = 'rad';
    P.Grid = 'on';

    そのオプション セットを使用して、ニコルス線図を生成します。プロットの位相単位やグリッドではありません。

    h = nicholsplot(tf(1,[1,.2,1,0]),P);

    Figure contains an axes object. The axes object contains an object of type line. This object represents untitled1.

    バージョン履歴

    R2008a で導入