Main Content

initial

状態空間モデルの初期状態に対するシステム応答

    説明

    初期応答プロット

    initial(sys,x0) は、ベクトル x0 で指定された状態の初期条件を使用して、状態空間 (ss) モデル sys の初期状態に対するシステムの自由応答をプロットします。

    x˙=Ax,x(0)=x0y=Cx

    状態空間モデル sys は連続時間または離散時間に、また SISO または MIMO にすることができます。MIMO 状態空間システムでは、各チャネル出力の応答がプロットに表示されます。initial は、システム ダイナミクスに基づいてシミュレーションのタイム ステップと期間を自動的に決定します。

    initial(sys,x0,tFinal) は、t = 0 から最終時間 t = tFinal まで、シミュレートされた応答をプロットします。この関数はシステム ダイナミクスを使用して、介在するタイム ステップを確認します。

    initial(sys,x0,t) は、ベクトル t で指定された時間における応答をプロットします。

    initial(sys1,sys2,...,sysN,x0,___) は、複数の動的システムの応答を同じプロット上にプロットします。すべてのシステムは入力数と出力数が同じでなければなりません。この構文では、前述の任意の入力引数の組み合わせで複数の動的システムが使用できます。

    initial(sys1,LineSpec1,...,sysN,LineSpecN,x0,___) は、応答プロット内の各システムの色、ライン スタイル、およびマーカーを指定します。前述の任意の入力引数の組み合わせで LineSpec を使用できます。追加のプロット カスタマイズ オプションが必要な場合は、代わりに initialplot を使用してください。

    初期応答データ

    [y,tOut,x] = initial(sys,x0) は、出力応答 y、時間ベクトル tOut、および状態軌跡 x を返します。配列 y は、時間サンプル数 (tOut の長さ) と同じ行数、および出力数と同じ列数をもちます。同様に、x の行数は length(tOut) であり、状態数と同じ列数をもちます。

    [y,tOut,x] = initial(sys,x0,___) は、t または tFinal として指定された応答時間も使用して応答データを返します。

    すべて折りたたむ

    この例では、5 つの状態をもつランダムな状態空間モデルを生成し、初期状態に対するシステム応答のプロットを作成します。

    rng("default")
    sys = rss(5);
    x0 = [1,2,3,4,5];
    initial(sys,x0)

    Figure contains an axes object. The axes object contains an object of type line. These objects represent Driving inputs, sys.

    次の状態空間モデルの応答をプロットします。

    [x˙1x˙2]=[-0.5572-0.78140.78140][x1x2]y=[1.96916.4493][x1x2].

    次の初期条件を取ります。

    x(0)=[10].

    a = [-0.5572, -0.7814; 0.7814, 0];
    c = [1.9691  6.4493];
    x0 = [1 ; 0];
    
    sys = ss(a,[],c,[]);
    initial(sys,x0)

    Figure contains an axes object. The axes object contains an object of type line. These objects represent Driving inputs, sys.

    次の 2 つの入力、2 つの出力の動的システムについて考えます。

    sys(s)=[03ss2+s+10s+1s+52s+6].MIMO system

    初期条件応答プロットは状態空間モデルに対してのみサポートされているため、sys を状態空間形式に変換します。

    sys = ss([0, tf([3 0],[1 1 10]) ; tf([1 1],[1 5]), tf(2,[1 6])]);
    size(sys)
    State-space model with 2 outputs, 2 inputs, and 4 states.
    

    結果の状態空間モデルには 4 つの状態があります。そのため、初期条件ベクトルに 4 つの要素を与えます。

    x0 = [0.3,0.25,1,4];

    初期条件応答プロットを作成します。

    initial(sys,x0);

    Figure contains 2 axes objects. Axes object 1 contains an object of type line. These objects represent Driving inputs, sys. Axes object 2 contains an object of type line. These objects represent Driving inputs, sys.

    結果のプロットには、sys の各出力について 1 つ、計 2 つのサブプロットが含まれています。

    この例では、次の零点-極-ゲイン モデルの初期条件応答を調べて、プロットを tFinal = 15 秒に制限します。

    initial は状態空間モデルのみをサポートしているため、まず zpk モデルを ss モデルに変換します。

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

    次に、初期条件応答プロットを作成します。

    initial(sys,x0,tFinal);

    Figure contains an axes object. The axes object contains an object of type line. These objects represent Driving inputs, sys.

    この例では、3 つの動的システムの初期条件応答をプロットします。

    まず、3 つのモデルを作成し、初期条件を与えます。すべてのモデルは状態数が同じでなければなりません。

    rng('default');
    sys1 = rss(4); 
    sys2 = rss(4);
    sys3 = rss(4);
    x0 = [1,1,1,1];

    5 秒にわたる時間ベクトル t を使用して、3 つのモデルの初期条件応答をプロットします。

    t = 0:0.1:5;
    initial(sys1,'r--',sys2,'b',sys3,'g-.',x0,t)

    Figure contains an axes object. The axes object contains 3 objects of type line. These objects represent Driving inputs, sys1, sys2, sys3.

    2 つの状態をもつ次の状態空間モデルの初期条件応答データを抽出します。

    [x˙1x˙2]=[-0.5572-0.78140.78140][x1x2]y=[1.96916.4493][x1x2].

    次の初期条件を使用します。

    x(0)=[10].

    a = [-0.5572, -0.7814; 0.7814, 0];
    c = [1.9691  6.4493];
    x0 = [1 ; 0];
    sys = ss(a,[],c,[]);
    [y,tOut,x] = initial(sys,x0);

    配列 y は、時間サンプル数 (tOut の長さ) と同じ行数、および出力数と同じ列数をもちます。同様に配列 x は、時間サンプル数 (tOut の長さ) と等しい行数、および状態数と同じ列数をもちます。

    この例では、6 つの状態と、3 出力 2 入力をもつ状態空間モデルの初期条件応答データを抽出します。

    まず、モデルを作成して初期条件を指定します。

    rng('default');
    sys = rss(6,3,2); 
    x0 = [0.1,0.3,0.05,0.4,0.75,1];

    15 秒にわたる時間ベクトル t を使用して、モデルの初期条件応答を抽出します。

    t = 0:0.1:15;
    [y,tOut,x] = initial(sys,x0,t);

    配列 y は、時間サンプル数 (tOut の長さ) と同じ行数、および出力数と同じ列数をもちます。同様に配列 x は、時間サンプル数 (tOut の長さ) と等しい行数、および状態数と同じ列数をもちます。

    入力引数

    すべて折りたたむ

    動的システム。SISO または MIMO 動的システム モデルか、動的システム モデルの配列として指定します。以下のタイプの状態空間モデルのみを使用できます。

    • 連続時間または離散時間の数値 ss モデル。

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

      • 調整可能な制御設計ブロックの場合、関数は応答データをプロットする処理と返す処理の両方においてモデルをその現在の値で評価します。

      • 不確かさをもつ制御設計ブロックの場合、関数はモデルのノミナル値とランダム サンプルをプロットします。出力引数を使用する場合、関数はノミナル モデルのみの応答データを返します。

    • sparss モデルや mechss モデルなどのスパース状態空間モデル。スパース状態空間モデルの最終時間 tFinal を指定しなければなりません。

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

    応答計算の終了時間。正のスカラー値として指定します。initial は、t = 0 から t = tFinal まで応答をシミュレートします。

    • 連続時間システムの場合、この関数は、システム ダイナミクスから自動的にステップ サイズと点数を判定します。システム時間単位で tFinal を表し、sysTimeUnit プロパティで指定されます。

    • 離散時間システムの場合、この関数は sys のサンプル時間をステップ サイズとして使用します。システム時間単位で tFinal を表し、sysTimeUnit プロパティで指定されます。

    • サンプル時間を指定しない離散時間システム (Ts = -1) の場合、initialtFinal を、シミュレートするサンプリング周期の数として解釈します。

    応答を計算するタイミングの時間ベクトル。正のスカラー値のベクトルとして指定します。システム時間単位で t を表し、sysTimeUnit プロパティで指定されます。

    • 連続時間モデルの場合は、tTi:dt:Tf 形式で指定します。各タイム ステップでの応答を取得するために、関数は dt を連続システムに対する離散近似のサンプル時間として使用します。

    • 離散時間モデルの場合は、tTi:Ts:Tf 形式で指定します。ここで、Tssys のサンプル時間です。

    initial は、Ti に関係なく、常に t = 0 で入力を適用します。

    ライン スタイル、マーカー、色。1、2、または 3 文字の string または文字ベクトルとして指定します。文字が表示される順序は任意です。3 つの特性 (ライン スタイル、マーカーおよび色) をすべて指定する必要はありません。たとえば、ライン スタイルを省略してマーカーを指定した場合、プロットはラインなしでマーカーのみを表示します。この引数の設定の詳細については、関数 plot の入力引数 LineSpec を参照してください。

    例: 'r--' は赤い破線を指定します。

    例: '*b' は青いアスタリスク マーカーを指定します。

    例: 'y' は黄色いラインを指定します。

    状態の初期条件。ベクトルとして指定します。x0 の長さは、sys の状態数と同じでなければなりません。

    出力引数

    すべて折りたたむ

    応答データ。配列として返されます。

    • SISO システムの場合、y は、t (指定した場合) または tOut (t を指定しない場合) と同じ長さの列ベクトルです。

    • 単入力、多出力システムの場合、y は、時間サンプルと同じ行数および出力と同じ列数の行列です。したがって、y の j 番目の列、つまり y(:,j) には、入力から j 番目の出力への応答が含まれます。

    • MIMO システムの場合、y の次元は N 行 Ny 列になります。ここで、

      • N は時間サンプルの数です。

      • Ny はシステムの出力数です。

    応答が計算される時間。ベクトルとして返されます。特定の時間ベクトル t を指定しない場合、initial は、システム ダイナミクスに基づいてこの時間ベクトルを選択します。時間は sys の時間単位で表されます。

    状態軌跡。配列として返されます。x には、t または tOut の各時間における sys の状態の発展が含まれます。x の次元は N 行 Nx 列です。ここで、

    • N は時間サンプルの数です。

    • Nx は状態の数です。

    バージョン履歴

    R2006a より前に導入