The difference between the result of `step` and` stepinfo` in Matlab

I use the stepinfo function to get the response of the system step. But the information that I receive and the information that I receive from the plot made by step do not match. For a closed system:

 m1=3; m2=2; k=12; B=6; p=35.1263; z=4.9686; K=683.9; s=tf('s'); G=(B*s+k+s^2*m2)/(s^2*(s^2*m1*m2+(m1+m2)*(B*s+k))); H=K*(s+z)/(s+p); T=(G*H/(1+G*H)); 

The result of stepinfo(T) is equal

 ans = RiseTime: 0.3876 SettlingTime: 1.4245 SettlingMin: 0.9863 SettlingMax: 1.1881 Overshoot: 18.8102 Undershoot: 0 Peak: 1.1881 PeakTime: 0.5756 

While the graph obtained as a result of step(T,0:1e-3:10) clearly shows that the answer exceeds 1.2, which means that Overshoot is greater than 20, not 18.81. step response

What is the source of the difference?

+4
source share
1 answer

This seems to be some kind of bug with version R2009b. As noted in the comments, I ran the same code on a machine with version R2012a, and the stepinfo results were:

 ans = RiseTime: 0.1671 SettlingTime: 1.3591 SettlingMin: 0.9066 SettlingMax: 1.2094 Overshoot: 20.9442 Undershoot: 0 Peak: 1.2094 PeakTime: 0.4604 

which is the expected result.

+1
source

All Articles