i need help to find impulse response of system h(t) at time t

7 views (last 30 days)
Task: For the case E = I, the impulse response of a system is defifined as h(t) = CeAtB + Dδ(t), t 0,
and represents the system output y(t) when the input u(t) = δ(t).
Use the command expm() to compute the matrix exponential and then plot the impulse response
for an equally spaced time grid t = linspace(0,500,500). (Hint: You only need to compute the
matrix exponential once.) Explain why the impulse response h(t) 0 as t → ∞.
I have considered the matrix values as below:
A=[-3 -5 -1;1 0 0;0 1 0];
B=[1; 0; 0],
C=[0 0 1]
D=1;
E=eye(3);

Answers (1)

Sam Chak
Sam Chak on 2 Nov 2022
I used the impulse() method. but you can try using the expm() method. Look up the example and verify with the impulse response below.
A = [-3 -5 -1; 1 0 0; 0 1 0];
B = [1; 0; 0];
C = [0 0 1];
D = 1;
sys = ss(A, B, C, D)
sys = A = x1 x2 x3 x1 -3 -5 -1 x2 1 0 0 x3 0 1 0 B = u1 x1 1 x2 0 x3 0 C = x1 x2 x3 y1 0 0 1 D = u1 y1 1 Continuous-time state-space model.
impulse(sys)
tFinal = 500;
impulse(sys, tFinal)
help expm
EXPM Matrix exponential. EXPM(A) is the matrix exponential of A and is computed using a scaling and squaring algorithm with a Pade approximation. Although it is not computed this way, if A has a full set of eigenvectors V with corresponding eigenvalues D then [V,D] = EIG(A) and EXPM(A) = V*diag(exp(diag(D)))/V. EXP(A) computes the exponential of A element-by-element. See also LOGM, SQRTM, FUNM. Documentation for expm doc expm Other uses of expm gpuArray/expm sym/expm symbolic/expm

Products


Release

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!