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

1 view (last 30 days)
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)

Accepted Answer

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

More Answers (1)

Fangjun Jiang
Fangjun Jiang on 17 Jun 2011
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)

Community Treasure Hunt

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

Start Hunting!