Main Content

stepplot

追加のプロット カスタマイズ オプションを使用してステップ応答をプロットする

    説明

    stepplot では、step よりも広範囲のプロット カスタマイズ オプションを使用して動的システムのステップ応答をプロットできます。stepplot を使用してプロット ハンドルを取得し、それを使用して軸座標のラベル、軸座標の範囲、軸座標の単位の変更など、プロットをカスタマイズできます。stepplot を使用して、座標軸ハンドルで表される既存の座標軸のセット上にステップ応答プロットを描画することもできます。プロット ハンドルを使用して既存のステップ プロットをカスタマイズするには、次のようにします。

    1. プロット ハンドルを取得

    2. getoptions を使用してオプション セットを取得

    3. setoptions を使用してプロットを更新し、必要なオプションを変更

    詳細については、コマンド ラインからの応答プロットのカスタマイズ (Control System Toolbox)を参照してください。既定のオプションを使用してステップ プロットを作成するか、ステップ応答データを抽出するには、step を使用します。

    h = stepplot(sys) は、動的システム モデル sys のステップ応答をプロットし、プロットのプロット ハンドル h を返します。getoptions コマンドと setoptions コマンドを使ってプロットをカスタマイズするために、このハンドル h を使用できます。

    h = stepplot(sys1,sys2,...,sysN) は、複数の動的システム sys1,sys2,…,sysN のステップ応答を同じプロット上にプロットします。この構文を使用するには、すべてのシステムで入力数と出力数が同じでなければなりません。

    h = stepplot(sys1,LineSpec1,...,sysN,LineSpecN) は、各システムのステップ応答のライン スタイル、マーカー タイプ、および色を設定します。この構文を使用するには、すべてのシステムで入力数と出力数が同じでなければなりません。

    h = stepplot(___,tFinal) は、t = 0 から最終時間 t = tFinal までのステップ応答をシミュレートします。sysTimeUnit プロパティで指定されるシステム時間単位で tFinal を指定します。サンプル時間を指定しない離散時間システム (Ts = -1) では、stepplottFinal を、シミュレートするサンプリング間隔の数として解釈します。

    h = stepplot(___,t) は、時間ベクトル t を使用してステップ応答をシミュレートします。sysTimeUnit プロパティで指定されるシステム時間単位で t を指定します。

    h = stepplot(AX,___) は、ハンドル AX をもつ現在の Figure の Axes オブジェクトにステップ応答をプロットします。

    h = stepplot(___,plotoptions) は、plotoptions で指定されたオプション セットを使用してステップ応答をプロットします。これらのオプションを使用して、コマンド ラインからステップ プロットの外観をカスタマイズできます。plotoptions に指定する設定は、stepplot を実行する MATLAB® セッションの基本設定をオーバーライドします。したがって、ローカルの基本設定にかかわらず、同じ外観の複数のプロットを生成するスクリプトを記述する場合、この構文が有用です。

    h = stepplot(___,dataoptions) は、dataoptions で指定されたオプション セットを使用してステップ応答をプロットします。この構文を使用すると、ステップ振幅や入力オフセットなどのオプションをオプション セット dataoptions を使用して指定できます。この構文は、同じオプション セットを使用して複数のプロットを生成するスクリプトを記述する場合に便利です。オプション セットは stepDataOptions を使用して作成します。

    すべて折りたたむ

    この例では、プロット ハンドルを使用して時間単位を分に変更し、グリッドをオンにします。

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

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

    時間単位を分に変更し、グリッドをオンにします。そのためには、setoptions を使用してプロット ハンドル h のプロパティを編集します。

    setoptions(h,'TimeUnits','minutes','Grid','on');

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

    setoptions を呼び出すと、ステップ プロットは自動的に更新されます。

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

    plotoptions = timeoptions('cstprefs');

    時間単位を分に設定してグリッドを有効にすることで、オプション セットのプロパティを変更します。

    plotoptions.TimeUnits = 'minutes';
    plotoptions.Grid = 'on';
    stepplot(sys,plotoptions);

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

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

    2 つの動的システムのステップ応答プロットを生成します。

    sys1 = rss(3);
    sys2 = rss(3);
    h = stepplot(sys1,sys2);

    Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent sys1, sys2.

    それぞれのステップ応答が異なる定常値で安定します。プロット ハンドルを使用して、プロットされた応答を正規化します。

    setoptions(h,'Normalize','on')

    Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent sys1, sys2.

    今度は、任意単位で表された同じ値で応答が安定します。

    パラメトリックと同定されたモデルのステップ応答をノンパラメトリック (実測) モデルのステップ応答と比較し、3-σ の信頼領域を表示します。(同定されたモデルには、System Identification Toolbox™ ソフトウェアが必要です。)

    サンプル データからパラメトリックおよびノンパラメトリック モデルを同定します。

    load iddata1 z1
    sys1 = ssest(z1,4); 
    sys2 = impulseest(z1);

    両方の同定されたモデルのステップ応答をプロットします。プロット ハンドルを使用して、3-σ の信頼領域を表示します。

    t = -1:0.1:5;
    h = stepplot(sys1,'r',sys2,'b',t);
    showConfidence(h,3)
    legend('parametric','nonparametric')

    Figure contains an axes object. The axes object with title From: u1 To: y1 contains 2 objects of type line. These objects represent parametric, nonparametric.

    ノンパラメトリック モデル sys2 で不確かさが高まっているのがわかります。

    この例では、次の零点-極-ゲイン モデルのステップ応答を調べて、ステップ プロットを tFinal = 15 秒に制限します。タイトルに 15 ポイントの青いテキストを使用します。このプロットは、それを生成する MATLAB セッションの基本設定にかかわらず、外観が同じになります。

    sys = zpk(-1,[-0.2+3j,-0.2-3j],1)*tf([1 1],[1 0.05]);
    tFinal = 15;

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

    plotoptions = timeoptions;

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

    plotoptions.Title.FontSize = 15;
    plotoptions.Title.Color = [0 0 1];

    これで、オプション セット plotoptions を使用してステップ応答プロットを作成します。

    h = stepplot(sys,tFinal,plotoptions);

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

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

    非線形 Hammerstein-Wiener モデルを推定するためのデータを読み込みます。

    load(fullfile(matlabroot,'toolbox','ident','iddemos','data','twotankdata'));
    z = iddata(y,u,0.2,'Name','Two tank system');

    z は、入出力の推定データを格納する iddata オブジェクトです。

    推定データを使用して次数 [1 5 3] の Hammerstein-Wiener モデルを推定します。入力の非線形性を区分的線形と指定し、出力の非線形性を 1 次元多項式と指定します。

    sys = nlhw(z,[1 5 3],idPiecewiseLinear,idPolynomial1D);

    オプション セットを作成して、入力オフセットおよびステップ振幅レベルを指定します。

    opt = stepDataOptions('InputOffset',2,'StepAmplitude',0.5);

    指定したオプションを使用して 60 秒までのステップ応答をプロットします。

    stepplot(sys,60,opt);

    Figure contains an axes object. The axes object with title From: u1 To: y1 contains an object of type line. This object represents sys.

    入力引数

    すべて折りたたむ

    動的システム。SISO または MIMO 動的システム モデルか、動的システム モデルの配列として指定します。使用できる動的システムには次のようなものがあります。

    • tf (Control System Toolbox)zpk (Control System Toolbox)ss (Control System Toolbox) モデルなどの連続時間または離散時間の数値 LTI モデル。

    • sparss (Control System Toolbox) モデルまたは mechss (Control System Toolbox) モデルなどのスパース状態空間モデル。スパース モデルを使用する場合は最終時間 tFinal を指定しなければなりません。

    • genss (Control System Toolbox)uss (Robust Control Toolbox) モデルなどの一般化された、あるいは不確かさをもつ LTI モデル。(不確かさをもつモデルを使用するには Robust Control Toolbox™ ソフトウェアが必要です。)

      • 調整可能な制御設計ブロックの場合、関数はステップ応答データをプロットするモデルをその現在の値で評価します。

      • 不確かさをもつ制御設計ブロックの場合、関数はモデルのノミナル値とランダム サンプルをプロットします。

    • idtfidssidproc モデルなどの同定された LTI モデル。

    sys がモデルの配列である場合、この関数は同じ座標軸上に配列のすべてのモデルのステップ応答をプロットします。

    ライン スタイル、マーカー、色。記号を含む文字ベクトルまたは string として指定します。記号が表示される順序は任意です。3 つの特性 (ライン スタイル、マーカーおよび色) をすべて指定する必要はありません。たとえば、ライン スタイルを省略してマーカーを指定した場合、プロットはラインなしでマーカーのみを表示します。

    例: '--or' は円形マーカー付きの赤い破線

    ライン スタイル説明
    -実線
    --破線
    :点線
    -.一点鎖線
    マーカー説明
    'o'
    '+'プラス記号
    '*'アスタリスク
    '.'
    'x'x 印
    '_'水平線
    '|'垂直線
    's'正方形
    'd'菱形
    '^'上向き三角形
    'v'下向き三角形
    '>'右向き三角形
    '<'左向き三角形
    'p'星形五角形
    'h'星形六角形
    説明

    y

    黄色

    m

    マゼンタ

    c

    シアン

    r

    g

    b

    w

    k

    ステップ応答の計算の最終時間。スカラーとして指定します。sysTimeUnit プロパティで指定されるシステム時間単位で tFinal を指定します。サンプル時間を指定しない離散時間システム (Ts = -1) では、stepplottFinal を、シミュレートするサンプリング間隔の数として解釈します。

    ステップ応答のシミュレーションの時間。ベクトルとして指定します。sysTimeUnit プロパティで指定されるシステム時間単位で時間ベクトル t を指定します。時間ベクトルは、実数で有限でなければなりません。また、単調増加で等間隔の時間サンプルを含まなければなりません。

    時間ベクトル t は次のとおりです。

    • t = Tinitial:Tsample:Tfinal (離散時間システムの場合)。

    • t = Tinitial:dt:Tfinal (連続時間システムの場合)。ここでは、dt は連続時間システムの離散近似のサンプル時間です。

    ターゲット座標軸。Axes オブジェクトとして指定します。座標軸を指定せず、現在の座標軸が直交座標軸の場合、stepplot は現在の座標軸上でプロットします。ステップ プロットの作成時に AX を使用して特定の座標軸にプロットします。

    ステップ プロットのオプション セット。TimePlotOptions オブジェクトとして指定します。このオプション セットを使用してステップ プロットの外観をカスタマイズできます。timeoptions を使用して、オプション セットを作成します。plotoptions に指定する設定は、stepplot を実行する MATLAB セッションの基本設定をオーバーライドします。したがって、ローカルの基本設定にかかわらず、同じ外観の複数のプロットを生成するスクリプトを記述する場合、plotoptions が有用です。

    利用可能なオプションのリストについては、timeoptions を参照してください。

    ステップ応答データのオプション セット。step オブジェクトとして指定します。ステップ振幅や入力オフセットなどのオプションをオプション セット dataoptions を使用して指定します。これは、同じステップ振幅および入力オフセットの値を使用して複数のプロットを生成するスクリプトを記述する場合に便利です。オプション セットは stepDataOptions を使用して作成します。

    出力引数

    すべて折りたたむ

    プロット ハンドル。handle オブジェクトとして返されます。getoptions および setoptions を使用してステップ プロットのプロパティを取得および設定するには、ハンドル h を使用します。利用可能なオプションのリストについては、コマンド ラインからの応答プロットのカスタマイズ (Control System Toolbox)"プロパティと値のリファレンス" の節を参照してください。

    バージョン履歴

    R2012a で導入