Why these two codes produce different graphs? How can I make the second graph be like the first?

4 次查看(过去 30 天)
Why these two codes produce different graphs? How can I make the second graph be like the first?
1st:
t=0:0.3:10;
step(c2d(tf(1,[1 1]),0.3),t);
2nd:
t=0:0.3:10;
[y,t]=step(c2d(tf(1,[1 1]),0.3),t);
plot(t,y)

采纳的回答

Arnaud Miege
Arnaud Miege 2011-6-17
Fangjun's correct. To get the same plot, use stairs:
stairs(t,y)
HTH,
Arnaud

更多回答(1 个)

Fangjun Jiang
Fangjun Jiang 2011-6-17
The results are same if you see it like this.
figure;
plot(t,y,'+');
I think the reason is: you are calculating the step response of a discrete system so the plot shown in your first step() line shows the results as the value at every discrete time step. The plot shown in your plot() line is interpreted by the plot() command.
See also
step(tf(1,[1 1]),t)

类别

Help CenterFile Exchange 中查找有关 Filter Analysis 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by