simulate State Space system with lsim
28 views (last 30 days)
Show older comments
Anthony Sirico
on 4 Feb 2021
Answered: Star Strider
on 4 Feb 2021
A = [0 1 0 0; 0 0 1 0; 0 0 0 1; -2 -5 -7 -2];
B = [0; 0; 0; 1];
C = [1 3 0 0];
D = 0;
t = 10;
sys = ss(A,B,C,D);
x0 = [1 1 1 1];
u = exp(-0.3*t)*sin(t);
lsim(sys, u, t)
grid
I was given this ss system, but it keeps returning:
Error using DynamicSystem/lsim (line 97)
When simulating the response to a specific input signal, the input data U must be a matrix of numeric values with at least two
rows (samples) and without any NaN or Inf.
Error in HW2_2b (line 15)
lsim(sys, u, t)
Any ideas?
0 Comments
Accepted Answer
Star Strider
on 4 Feb 2021
For a SISO system, ‘t’ needs to be a vector:
t = linspace(0,10);
the full code being:
A = [0 1 0 0; 0 0 1 0; 0 0 0 1; -2 -5 -7 -2];
B = [0; 0; 0; 1];
C = [1 3 0 0];
D = 0;
t = linspace(0,10);
sys = ss(A,B,C,D);
x0 = [1 1 1 1];
u = exp(-0.3*t).*sin(2*pi*t);
lsim(sys, u, t)
grid
Create ‘t’ to be whatever you want.
0 Comments
More Answers (0)
See Also
Categories
Find more on Stability Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!