(y, t, x) = StateSpace.Analysis.impulseResponse(ss, dt, tSpan)
This function calculates the time response of a state space system for impulse input. The state space system is transformed to a appropriate discrete state space system and, starting at x(t=0)=0 and y(t=0)=C*x0 + D*u0, the outputs y and x are calculated for each time step t=k*dt.
StateSpace.Analysis.impulseResponse(ss, dt, tSpan)
gives the same result as
StateSpace.Analysis.timeResponse(ss, dt, tSpan, response=Types.TimeResponse.Impulse, x0=fill(0,size(ss.A,1))).
Modelica_LinearSystems2.StateSpace ss=Modelica_LinearSystems2.StateSpace(
A=[-1],
B=[1],
C=[2],
D=[0]);
Real Ts=0.1;
Real tSpan= 0.4;
Real y[5,1,1];
Real t[5];
Real x[5,1,1]
algorithm
(y,t,x) := StateSpace.Analysis.impulseResponse(ss,Ts,tSpan);
// y[:,1,1] = {2, 1.8097, 1.6375, 1.4816, 1.3406}
// t = {0, 0.1, 0.2, 0.3, 0.4}
// x[:,1,1] = {1, 0.9048, 0.8187, 0.7408, 0.6703}
StateSpace.Analysis.timeResponse
encapsulated function impulseResponse import Modelica_LinearSystems2; extends Modelica_LinearSystems2.Internal.timeResponseMask2; end impulseResponse;
| Date | Author | Comment |
|---|---|---|
| 2010-05-31 | Marcus Baur, DLR-RM | Realization |