How to find response

1 次查看(过去 30 天)
Hello, I put the following system in matlab but I get an error
"When simulating the response to a specific input signal, the input data U must be a matrix with as many rows as samples in the time vector T, and as many columns as input channels."
Can someone explain it to me? Thank you.
A = [3 0;0 -2];
B = [3 0;0 -2];
C = [-1 1;1 -1];
D=0;
x0 = [1 -1];
poles = eig(A)
% open-loop response:
t = 0:0.01:5;
u = 0*t;
sys = ss(A,B,C,D);
[y,t,x] = lsim(sys,u,t,x0);
plot(t,y)

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2014-11-29
A = [3 0;0 -2];
B = [3 0;0 -2];
C = [-1 1;1 -1];
D=0;
x0 = [1 -1];
poles = eig(A) % You have unstable poles (pole=3)
% open-loop response:
t = (0:0.01:5)';
u = [sin(t) sin(t)] % create your input signals
sys = ss(A,B,C,D);
[y,t,x] = lsim(sys,u,t,x0);
plot(t,y)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Time and Frequency Domain Analysis 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by