Continuous-time model -> Discrete-time model
显示 更早的评论
Hi,
In state space equation, A matrix is A = [0 0 1 0;0 0 0 1;-4 2 -.8 .4;2 -4 .4 -.8], B = [0 0;0 0;0.2 0;0 0.2], C = [0 0 1 0;1 0 0 0], and D = [0 0;0 0]. Using function 'ss' I make system, SYS = ss(A,B,C,D) which is continuous-time model. And I draw impulse response using function 'impulse'. But when I try to make the system as discrete-time model, the impulse response drawing is weird. What I did is SYSd = ss(A,B,C,D,0.1), 0.1 is my chosen sampling time. But the impulse response of discrete-time model is totally different from the continuous-time model's one. I already try to change the sampling rate, just like 0.01, 0.001 even 10 and 100. href=""</a>
This is probably rather simple - but I am not sure how to do it so any help would be great. href=""</a>
Thank you.
回答(2 个)
chetan
2011-10-17
0 个投票
Hi Danny, I am also having the same problem... So if in future, any time, if u come to know how to tackle this problem, do share it...
Thanks... :-) Bye and have a nice day.
Fangjun Jiang
2011-10-17
SYS = ss(A,B,C,D) and SYSd = ss(A,B,C,D,0.1) are not the same. To discretize your continuous model, you need to use c2d(). Also, impulse() is slightly different between continuous and discrete systems. To verify the conversion is correct, use step().
A = [0 0 1 0;0 0 0 1;-4 2 -.8 .4;2 -4 .4 -.8];
B = [0 0;0 0;0.2 0;0 0.2];
C = [0 0 1 0;1 0 0 0];
D = [0 0;0 0];
figure(1);
SYS = ss(A,B,C,D);
step(SYS)
figure(2);
SysD=c2d(SYS,0.1);
step(SysD);
类别
在 帮助中心 和 File Exchange 中查找有关 Discretization 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!