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

2 Ansichten (letzte 30 Tage)
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)

Akzeptierte Antwort

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

Weitere Antworten (1)

Fangjun Jiang
Fangjun Jiang am 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)

Kategorien

Mehr zu Line Plots finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by