impulse
R2026b動的システムのインパルス応答プロット、インパルス応答データ
構文
説明
[___] = impulse(___, は、1 つ以上の名前と値の引数を使用して応答プロパティを指定します。たとえば、Name=Value)impulse(sys,Bias=2) は入力バイアスを 2 に設定します。 (R2026b 以降)
次の名前と値の引数は、他の入力引数で指定された値をオーバーライドします。
impulse(___) は、前述のすべての入力引数の組み合わせについて、sys のインパルス応答を既定のプロット オプションでプロットします。プロットをさらにカスタマイズするには、impulseplot を使用します。
複数の動的システムの応答を同じプロット上にプロットするには、
sysをモデルのコンマ区切りリストとして指定します。たとえば、impulse(sys1,sys2,sys3)は 3 つのモデルの応答を同じプロット上にプロットします。プロット内の各システムの色、ライン スタイル、およびマーカーを指定するには、システムごとに
LineSpec値を指定します。たとえば、impulse(sys1,LineSpec1,sys2,LineSpec2)は 2 つのモデルをプロットし、それらのプロット スタイルを指定します。LineSpec値の指定の詳細については、impulseplotを参照してください。
例
以下の伝達関数で表される連続時間システムのインパルス応答をプロットします。
この例では、伝達関数を表す tf モデルを作成します。零点-極-ゲイン (zpk) モデルや状態空間 (ss) モデルなど、他の動的システム モデル タイプのインパルス応答を同様にプロットできます。
sys = tf(4,[1 2 10]);
インパルス応答をプロットします。
impulse(sys)

impulse プロットには、定常状態の応答を示す水平の点線が自動的に含まれます。MATLAB® Figure ウィンドウでプロットを右クリックして、ピーク応答や過渡時間など、インパルス応答の他の特性を表示できます。
離散時間システムのインパルス応答をプロットします。システムは 0.2 秒のサンプル時間をもち、次の状態空間行列で表されます。
A = [1.6 -0.7;
1 0];
B = [0.5; 0];
C = [0.1 0.1];
D = 0;状態空間モデルを作成し、そのインパルス応答をプロットします。
sys = ss(A,B,C,D,0.2); impulse(sys)

インパルス応答にはモデルの離散化が反映され、0.2 秒ごとに計算される応答が表示されます。
次の零点-極-ゲイン モデルのインパルス応答を調べます。
sys = zpk(-1,[-0.2+3j,-0.2-3j],1) * tf([1 1],[1 0.05])
sys =
(s+1)^2
----------------------------
(s+0.05) (s^2 + 0.4s + 9.04)
Continuous-time zero/pole/gain model.
Model Properties
impulse(sys)

既定では、impulse は応答が向かっている定常状態を示す終了時間を選択します。過渡応答を詳しく調べるには、インパルス プロットを t = 20 秒に制限します。
impulse(sys,20)

あるいは、インパルス応答を調べる時間が一定間隔で区切られている場合は、正確な時間を指定することができます。たとえば、過渡状態の終わりからシステムが定常状態に到達するまでの応答を調べます。
t = 20:0.2:120; impulse(sys,t)

このプロットは t = 20 で開始されますが、impulse は常にインパルス入力を t = 0 で適用します。
以下の 2 次状態空間モデルについて考えます。
A = [-0.5572,-0.7814;0.7814,0]; B = [1,-1;0,2]; C = [1.9691,6.4493]; sys = ss(A,B,C,0);
このモデルには 2 つの入力と 1 つの出力があるため、最初の入力から出力へと、2 番目の入力から出力への 2 つのチャネルがあります。各チャネルには固有のインパルス応答があります。
impulse を使用すると、すべてのチャネル応答が計算されます。
impulse(sys)
左のプロットには最初の入力チャネルのインパルス応答が表示され、右のプロットには 2 番目の入力チャネルのインパルス応答が表示されます。impulse を使用して MIMO モデルの応答をプロットするたびに、モデルのすべての I/O チャネルを表すプロットの配列が生成されます。たとえば、5 つの状態、3 つの入力、および 2 つの出力をもつランダム状態空間モデルを作成し、そのインパルス応答をプロットします。
sys = rss(5,2,3); impulse(sys)


MATLAB Figure ウィンドウで、プロットを右クリックし、[I/O セレクター] を選択して、プロットをチャネルのサブセットに制限できます。
impulse を使用して、複数の動的システムの応答を同じ軸上にプロットできます。たとえば、PI コントローラーと PID コントローラーでシステムの閉ループ応答を比較します。システムの伝達関数を作成し、コントローラーを調整します。
H = tf(4,[1 2 10]); C1 = pidtune(H,'PI'); C2 = pidtune(H,'PID');
閉ループ システムを形成し、そのインパルス応答をプロットします。
sys1 = feedback(H*C1,1); sys2 = feedback(H*C2,1); impulse(sys1,sys2) legend('PI','PID','Location','SouthEast')

既定では、impulse は、プロットするシステムごとに異なる色を選択します。入力引数 LineSpec を使用して色とライン スタイルを指定できます。
impulse(sys1,'r--',sys2,'b') legend('PI','PID','Location','SouthEast')

最初の LineSpec "'r--' は、PI コントローラーでの応答を表す赤い破線を指定します。2 番目の LineSpec "'b' は、PID コントローラーでの応答を表す青い実線を指定します。凡例に、指定された色とライン スタイルが反映されます。プロットをさらにカスタマイズするには、impulseplot を使用します。
「複数システムのインパルス応答の比較」 の例では、いくつかの個々のシステムの応答を 1 つの軸にプロットする方法を説明しています。モデル配列に複数の動的システムが配置されている場合、impulse はそのすべての応答を一度にプロットします。
モデル配列を作成します。この例では、固有振動数が異なる 2 次伝達関数の 1 次元配列を使用します。最初に、モデル配列のメモリを事前に割り当てます。次のコマンドで、零点とゲインの SISO 伝達関数からなる 1 行 5 列の行を作成します。最初の 2 つの次元は、モデルの出力と入力を表します。残りの次元は配列の次元です
sys = tf(zeros(1,1,1,5));
配列を設定します。
w0 = 1.5:1:5.5; % natural frequencies zeta = 0.5; % damping constant for i = 1:length(w0) sys(:,:,1,i) = tf(w0(i)^2,[1 2*zeta*w0(i) w0(i)^2]); end
(モデル配列とそれらの作成方法の詳細については、モデル配列を参照してください)。配列内のすべてのモデルのインパルス応答をプロットします。
impulse(sys)

impulse は、配列内のすべてのエントリの応答に同じライン スタイルを使用します。エントリを区別する 1 つの方法は、動的システム モデルの SamplingGrid プロパティを使用して配列内の各エントリを対応する w0 値に関連付けることです。
sys.SamplingGrid = struct('frequency',w0);次に、応答を MATLAB Figure ウィンドウにプロットする場合は、トレースをクリックして、対応する周波数値を確認できます。
出力引数を指定すると、impulse は応答データの配列を返します。SISO システムの場合、応答データは、応答がサンプリングされる時間点の数と等しい長さの列ベクトルとして返されます。時間点のベクトルを指定するか、impulse でシステム ダイナミクスに基づいて時間点が自動的に選択されるようにします。たとえば、t = 0 ~ t = 5 秒の間、101 の時間点で SISO システムのインパルス応答を抽出します。
sys = tf(4,[1 2 10]); t = 0:0.05:5; y = impulse(sys,t); size(y)
ans = 1×2
101 1
MIMO システムの場合、応答データは次元 N×Ny×Nu の配列で返されます。Ny と Nu は動的システムの出力および入力の数です。たとえば、2 入力、1 出力のシステムを表す、以下の状態空間モデルを考えます。
A = [-0.5572,-0.7814;0.7814,0]; B = [1,-1;0,2]; C = [1.9691,6.4493]; sys = ss(A,B,C,0);
t = 0 ~ t = 20 秒の間、200 の時間点でこのシステムのインパルス応答を抽出します。
t = linspace(0,20,200); y = impulse(sys,t); size(y)
ans = 1×3
200 1 2
y(:,i,j) は、時間 "t" における "j" 番目の入力から "i" 番目の出力へのインパルス応答を含む列ベクトルです。たとえば、2 番目の入力から出力へのインパルス応答を抽出します。
y12 = y(:,1,2); plot(t,y12)

同定されたパラメトリック モデルのインパルス応答を、ノンパラメトリック (実測) モデルのインパルス応答と比較します。また、3 の信頼領域も表示します。
データを読み込みます。
load iddata1 z1
パラメトリック モデルを推定します。
sys1 = ssest(z1,4);
ノンパラメトリック モデルを推定します。
sys2 = impulseest(z1);
比較のためにインパルス応答をプロットします。
t = (0:0.1:10)'; [y1, ~, ~, ysd1] = impulse(sys1,t); [y2, ~, ~, ysd2] = impulse(sys2,t); plot(t, y1, 'b', t, y1+3*ysd1, 'b:', t, y1-3*ysd1, 'b:') hold on plot(t, y2, 'g', t, y2+3*ysd2, 'g:', t, y2-3*ysd2, 'g:')

同定された時系列モデルのインパルス応答を計算します。
時系列モデルは信号モデルとも呼ばれ、測定される入力信号がありません。このモデルのインパルス プロットでは、その (測定されない) ノイズ チャネルを、インパルス信号の適用先の入力チャネルとして使用します。
データを読み込みます。
load iddata9;時系列モデルを推定します。
sys = ar(z9, 4);
sys は形式 A y(t) = e(t) のモデルで、e(t) はノイズ チャネルを表します。インパルス応答を計算するため、e(t) は入力チャネルとして扱われ、e@y1 と名付けられます。
インパルス応答をプロットします。
impulse(sys)

状態空間モデルを作成します。
A = [-0.8429,-0.2134;-0.5162,-1.2139]; B = [0.7254,0.7147;0,-0.2050]; C = [-0.1241,1.4090;1.4897,1.4172]; D = [0.6715,0.7172;-1.2075,0]; sys = ss(A,B,C,D);
名前と値の引数を用いて応答オプションを指定して、インパルス応答を計算します。
t = 0:0.1:20; impulse(sys,t, ... Bias=[-2,3], ... Amplitude=[2,-0.5], ... InitialCondition=[0.1,-0.1], ... Delay=5)

この例では、LPV モデルのインパルス応答をシミュレートする方法を示します。この例では、fcnMaglev.m で定義された浮遊するボールのモデルの外乱 に対する閉ループ応答をシミュレートします。

システムを適切に初期化して = でほぼ維持するように、基準を に設定する必要があります。
モデルを作成し、離散化します。
hmin = 0.05; hmax = 0.25; h0 = (hmin+hmax)/2; Ts = 0.01; Glpv = lpvss("h",@fcnMaglev,0,0,h0); Glpvd = c2d(Glpv,Ts,"tustin");
3 つの高さの値について LPV モデルをサンプリングし、PID コントローラーを調整します。
hpid = linspace(hmin,hmax,3);
[Ga,Goffset] = sample(Glpvd,[],hpid);
wc = 50;
Ka = pidtune(Ga,"pidf",wc);
Ka.Tf = 0.01;ゲイン スケジュール PID コントローラーを作成します。
Ka.SamplingGrid = struct("h",hpid); Koffset = struct("y",{Goffset.u}); Clpv = ssInterpolant(ss(Ka),Koffset);
閉ループ モデルを作成します。
CL = feedback(Glpvd*[1,Clpv],1,2,1);
CL.InputName = {'du';'href'};
CL.OutputName = "h";= の定常状態電流を取得して外乱の大きさを設定します。
[~,~,~,~,~,~,~,u0] = Glpv.DataFunction(0,h0);
と でのインパルス変化に対する応答。
t = 0:Ts:2; pFcn = @(k,x,u) x(1); IC = findop(CL,t(1),h0,u=[u0;h0]); impulseplot(CL,t,pFcn, ... Amplitude=0.2*[u0;h0]*Ts, ... Delay=0.5, ... InitialCondition=IC) title("Current Impulse Disturbance and Height Impulse Change")

複素係数をもつ状態空間モデルを作成します。
A = [-2-2i -2;1 0]; B = [2;0]; C = [0 0.5+2.5i]; D = 0; sys = ss(A,B,C,D);
システムのインパルス応答を計算します。
[y,t] = impulse(sys);
結果の応答データには複素数の出力値が含まれます。
y
入力引数
動的システム。SISO または MIMO 動的システム モデルか、動的システム モデルの配列として指定します。使用できる動的システムのタイプには次のようなものがあります。
tf、zpk、ssモデルなどの連続時間または離散時間の数値 LTI モデル。genssやussモデルなどの一般化された、あるいは不確かさをもつ LTI モデル。(不確かさをもつモデルを使用するには Robust Control Toolbox™ ソフトウェアが必要です。)調整可能な制御設計ブロックの場合、関数は応答データをプロットする処理と返す処理の両方においてモデルをその現在の値で評価します。
不確かさをもつ制御設計ブロックの場合、関数はモデルのノミナル値とランダム サンプルをプロットします。出力引数を使用する場合、関数はノミナル モデルのみの応答データを返します。
sparssモデルやmechssモデルなどのスパース状態空間モデル。idtf、idss、idprocモデルなどの同定された LTI モデル。このようなモデルの場合、関数は信頼区間をプロットし、周波数応答の標準偏差を返すこともできます。信頼領域を含む同定されたモデルのステップ応答を参照してください。(同定されたモデルを使用するには System Identification Toolbox ソフトウェアが必要です。)
この関数は、frd、genfrd、idfrd モデルなどの周波数応答データ モデルをサポートしません。
sys がモデルの配列である場合、この関数は同じ座標軸上に配列のすべてのモデルの応答をプロットします。モデル配列内のシステムのステップ応答を参照してください。
応答を計算するタイム ステップ。次のいずれかの値として指定します。
正のスカラー
tFinal—t = 0からt = tFinalまでの応答を計算します。2 要素ベクトル
[t0 tFinal]—t = t0からt = tFinalまでの応答を計算します。 (R2023b 以降)ベクトル
Ti:dt:Tf—tで指定された時間点の応答を計算します。連続時間システムの場合、
dtは連続システムに対する離散近似のサンプル時間です。サンプル時間が指定された離散時間システムの場合、
dtはsysのサンプル時間のプロパティTsと一致しなければなりません。サンプル時間が未指定 (
Ts = -1) の離散時間システムの場合、dtは1でなければなりません。
[]— システム ダイナミクスに基づいて自動的に時間値を選択します。
tFinal または [t0 tFinal] のいずれかを使用して時間範囲を指定する場合、次のようになります。
連続時間システムの場合、関数はシステム ダイナミクスに基づいてタイム ステップのサイズと点の数を自動的に決定します。
サンプル時間が指定された離散時間システムの場合、関数は
sysのサンプル時間をステップ サイズとして使用します。サンプル時間が未指定 (
Ts = -1) の離散時間システムの場合、関数はtFinalをサンプリング周期の数と解釈し、1 秒のサンプル時間でシミュレートします。
t は sys の TimeUnit プロパティで指定された時間単位を使用して表します。
R2026a より前: Responses.SourceData.TimeSpec プロパティを使用して時間値を指定します。
R2026b より前: このプロパティは TimeSpec と呼ばれます。
LPV モデルのパラメーターの軌跡。行列または関数ハンドルとして指定します。
外因的または明示的な軌跡の場合、
pを次元 N 行 Np 列の行列として指定します。ここで、N は時間サンプルの数、Np はパラメーターの数です。したがって、行ベクトル
p(i,:)には、i 番目のタイム ステップのパラメーター値が含まれます。内因的または暗黙的な軌跡の場合、
pを p = F(k,x,u) の形式の関数ハンドルとして指定し、時間サンプル k、状態 x、および入力 u の関数としてパラメーターを与えます。impulseでは、このオプションは離散時間 LPV モデルでのみサポートされます。このオプションは、準 LPV モデルをシミュレートする場合に便利です。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
例: impulse(sys,Bias=2) は入力バイアスを 2 に設定します。
R2026b 以降
応答を計算するタイム ステップ。次のいずれかの値として指定します。名前と値の引数を使用して時間値を指定すると、t を使用して指定した時間値がオーバーライドされます。
正のスカラー
tFinal—t = 0からt = tFinalまでの応答を計算します。2 要素ベクトル
[t0 tFinal]—t = t0からt = tFinalまでの応答を計算します。ベクトル
Ti:dt:Tf—tで指定された時間点の応答を計算します。連続時間システムの場合、
dtは連続システムに対する離散近似のサンプル時間です。サンプル時間が指定された離散時間システムの場合、
dtはsysのサンプル時間のプロパティTsと一致しなければなりません。サンプル時間が未指定 (
Ts = -1) の離散時間システムの場合、dtは1でなければなりません。
[]— システム ダイナミクスに基づいて自動的に時間値を選択します。
tFinal または [t0 tFinal] のいずれかを使用して時間範囲を指定する場合、次のようになります。
連続時間システムの場合、関数はシステム ダイナミクスに基づいてタイム ステップのサイズと点の数を自動的に決定します。
サンプル時間が指定された離散時間システムの場合、関数は
sysのサンプル時間をステップ サイズとして使用します。サンプル時間が未指定 (
Ts = -1) の離散時間システムの場合、関数はtFinalをサンプリング周期の数と解釈し、1 秒のサンプル時間でシミュレートします。
Time は sys の TimeUnit プロパティで指定された時間単位を使用して表します。
R2026b 以降
LPV モデルのパラメーターの軌跡。行列または関数ハンドルとして指定します。名前と値の引数を使用してパラメーター値を指定すると、p を使用して指定したパラメーター値がオーバーライドされます。
外因的または明示的な軌跡の場合、
Parameterを次元 N 行 Np 列の行列として指定します。ここで、N は時間サンプルの数、Np はパラメーターの数です。したがって、行ベクトル
p(i,:)には、i 番目のタイム ステップのパラメーター値が含まれます。内因的または暗黙的な軌跡の場合、
Parameterを p = F(t,x,u) (連続時間) および p = F(k,x,u) (離散時間) の形式の関数ハンドルとして指定し、時間 t または時間サンプル k、状態 x、および入力 u の関数としてパラメーターを与えます。暗黙的な軌跡については、シミュレーションの初期条件を指定する必要があります。このオプションは、準 LPV モデルをシミュレートする場合に便利です。
R2026b 以降
入力レベルの入力信号バイアスからの相対的な変化。スカラーまたはベクトルとして指定します。
単入力システムの場合、
Amplitudeはスカラー値です。多入力システムの場合、
Amplitudeは長さ N u のベクトルです。ここで、N u は入力チャネルの数です。ベクトルの各値が、その入力チャネルにおけるレベルの変化の振幅に対応します。関数によって、一度に 1 つずつ、入力チャネルごとに応答が計算されます。
複素数のサポート: あり
R2026b 以降
ベースライン入力信号値。スカラーまたはベクトルとして指定します。
単入力システムの場合、
Biasはスカラー値です。多入力システムの場合、
Biasは長さ N u のベクトルです。ここで、N u は入力チャネルの数です。ベクトルの各値が、その入力チャネルにおける信号値に対応します。関数によって、一度に 1 つずつ、入力チャネルごとに応答が計算されます。オフセットをもつ状態空間モデルの場合、
Bias="u0"と設定して、モデルのオフセット u 0、u 0(t) (LTV モデルの場合) または u 0(t,p) (LPV モデルの場合) からのステップまたはインパルスの相対的な変化を適用します。LTV モデルおよび LPV モデルの場合、これは "データ関数" の出力u0です。この場合、合計入力信号は u 0 + u(t) になります。
R2026b 以降
入力信号の遅延。非負のスカラー値として指定します。この値は、変化が発生するまでのシミュレーション開始時間 T 0 からの相対的な時間を指定します。
R2026b 以降
初期条件。次の値のいずれかとして指定します。
[]—Biasで指定された入力値について、定常状態からシミュレーションを開始します。内部遅延のない状態空間モデルの場合、初期状態 xinit は次に対する解です。ここで、U はBiasの値です。連続時間 — 0 = A xinit + B U
離散時間 — xinit = A xinit + B U
モデル内の状態の数と等しい長さをもつ、初期状態値のベクトル — 指定した初期状態からシミュレーションを開始し、
Biasを初期入力値として使用します。"x0"—Biasを初期入力値として使用し、状態のオフセット値 x 0 (状態空間モデルの場合)、x 0(T 0) (LTV モデルの場合)、または x 0(T 0,p(T 0)) (LPV モデルの場合) を評価します。LTV モデルおよび LPV モデルの場合、状態のオフセット値は t = T 0 で評価された データ関数 の出力x0です。同定されたモデル用の
initialCondition(System Identification Toolbox) オブジェクト (System Identification Toolbox ソフトウェアが必要) — 指定した初期状態からシミュレーションを開始し、Biasを初期入力値として使用します。findopを使用して作成された操作条件 — 操作点オブジェクトを使用して、過去の u、w、および y の値が非ゼロである定常状態の操作条件からシミュレーションを開始できます。操作点オブジェクトを指定する場合、Biasの値は無視されます。
出力引数
インパルス応答データ。配列として返されます。
SISO システムの場合、
yは、t(指定した場合) またはtOut(tを指定しない場合) と同じ長さの列ベクトルです。単入力、多出力システムの場合、
yは、時間サンプルと同じ行数、および出力と同じ列数をもつ行列です。したがって、yの j 番目の列、つまりy(:,j)には、入力から j 番目の出力へのインパルス応答が含まれます。MIMO システムの場合、各入力チャネルのインパルス応答は
yの 3 番目の次元に沿って積み上げられます。yの次元は N×Ny×Nu です。ここで、N は時間サンプルの数です。
Ny はシステムの出力数です。
Nu はシステムの入力数です。
したがって、
y(:,i,j)は、tまたはtOutで指定された時間における "j" 番目の入力から "i" 番目の出力へのインパルス応答を含む列ベクトルです。複素係数をもつシステムの場合、
yは複素数値の配列になります。 (R2025a 以降)
制限
ゼロでない行列 D の連続システムのインパルス応答は t = 0 で無限になります。
impulseはこの不連続を無視し、t = 0 におけるより低い連続値 Cb を返します。impulseコマンドは、内部遅延をもつ連続時間モデルでは機能しません。そのようなモデルでは、padeを使用してむだ時間を近似してから、インパルス応答を計算します。impulseコマンドは、連続時間 LPV モデルについては、暗黙的なパラメーターの軌跡に沿ったシミュレーションをサポートしていません。
ヒント
任意の入力信号へのシステム応答をシミュレーションするには、
lsimを使用します。追加のプロット カスタマイズ オプションが必要な場合は、代わりに
impulseplotを使用します。impulseを使用して作成されたプロットは、複数行のタイトルや、string 配列または文字ベクトルの cell 配列として指定されたラベルをサポートしません。複数行のタイトルやラベルを指定するには、newline文字を含む単一の string を使用します。impulse(sys) title("first line" + newline + "second line");
アルゴリズム
連続時間 LTI モデルは、まず状態空間形式に変換されます。単入力状態空間モデルのインパルス応答
は初期状態が b の自由応答と等価です。
この応答をシミュレーションするため、システムは入力にゼロ次ホールドを使用して離散化されます。サンプル時間は、時間ベクトル t = T0:dt:Tf が指定されている場合を除き、システム ダイナミクスに基づいて自動的に選択されます。そのため、dt がサンプル時間として使用されます。
バージョン履歴
R2006a より前に導入次の名前と値の引数を使用して、応答オプションを指定できるようになりました。
Time— 時間値Bias— ベースライン入力信号値Amplitude— 入力レベルの変化Delay— 入力信号の遅延InitialCondition— システム初期条件Parameter— LPV モデルのパラメーターの軌跡
これらのオプションは、RespConfig オブジェクトを使用する応答構成を置き換えます。詳細については、RespConfig オブジェクトを使用した応答オプションの設定は非推奨を参照してください。
RespConfig オブジェクトを使用した応答オプションの設定は推奨されません。代わりに、名前と値の引数 Bias、Amplitude、Delay、および InitialCondition を使用してください。
次の表に、RespConfig のいくつかの用途と、代わりに新しい名前と値の引数を使用するようにコードを更新する方法を示します。ここで、sysLPV は線形パラメーター変動モデルです。
| 非推奨 | 推奨 |
|---|---|
config = RespConfig( ... Amplitude=0.5, ... Bias=1, ... Delay=2, ... InitialState=[1 2 3]); [y,t] = impulse(sys,config) | [y,t] = impulse(sys, ... Amplitude=0.5, ... Bias=1, ... Delay=2, ... InitialCondition=[1 2 3]) |
config = RespConfig( ... Bias=-1, ... InitialParameter=pinit); [y,t] = impulse(sysLPV,t,pFcn,config) | IC = findop(sysLPV,t(1),pinit,u=-1); [y,t] = impulse(sysLPV,t,pFcn,InitialCondition=IC) |
状態のオフセットをもつ LPV システム: config = RespConfig( ... InitialState="x0", ... InitialParameter=pinit) [y,t] = impulse(sysLPV,t,pFcn,config) | [~,~,~,~,~,~,x0] = sysLPV.DataFunction(t(1),pinit); [y,t] = impulse(sysLPV,t,pFcn,InitialCondition=x0) |
入力のオフセットをもつ LPV システム: config = RespConfig( ... Bias="u0", ... InitialParameter=pinit) [y,t] = impulse(sysLPV,t,pFcn,config) | [~,~,~,~,~,~,~,u0] = sysLPV.DataFunction(t(1),pinit); IC = findop(sysLPV,tinit,pinit,u=u0); [y,t] = impulse(sysLPV,t,pFcn,InitialCondition=IC) |
R2026a 以降、impulse 関数ではスパース index-2 DAE がサポートされます。
R2025a 以降、impulse 関数は複素係数をもつ動的システムをサポートします。
impulse を使用して作成されたプロットでは、gca 関数はプロット内の座標軸ではなく impulseplot チャート オブジェクトを返すようになりました。
RespConfig を使用して作成された、既定以外の構成を使用する場合における一部の応答特性の計算が変更されました。
[ピーク応答] 特性では、初期出力値からの最大偏差が示されるようになりました。つまり、t ≥ t0 + td の場合における |y(t) – yinit| のピーク値です。ここで、yinit はインパルスの直前の出力値です。
結果として、[ピーク応答] データ ヒントで [ピーク振幅] が [ピーク偏差] に名前変更されました。
整定時間と過渡時間が、インパルスの発生時間 (t = t0 + td) を基準にして計算されるようになりました。これにより、これらの特性が遅延の影響を受けることがなくなります。
通常、インパルスの直前の値として初期出力値 yinit を使用して、インパルスの時間からの応答特性が計算されます。
新しい構文 [y,tOut] = impulse(sys,[t0,tFinal]) は、時間 t0 から tFinal までのインパルス応答を計算する場合に使用します。遅延 td を指定した構成では、関数は時間 t = t0 + td におけるインパルスを適用します。
impulse コマンドで、Ti:dt:Tf の形式の時間ベクトルの入力を使用して非ゼロの開始時間を指定できるようになりました。以前は、Ti に関係なく、常に t = 0 に入力が適用されていました。
参考
線形システム アナライザー | step | initial | lsim | pade | impulseplot
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)