Calculating Settling time in Matlab, different from stepinfo

31 次查看(过去 30 天)
I would like to compute the settling time of a signal y in Matlab. It should give the amount of time required before the signal reaches a steady state error y(t)-y_{ss} which is smaller than some absolute value x and stays smaller than x for all future times.
I already tried to use the Matlab function stepinfo, but this defines the value x as "a fraction 2% of their peak value for all future times" and that is not what i want.
Is there any way that i could adjust the Matlab function stepinfo, that i could code this myself or perhaps there is another function available that calculates the settling time in this way?

回答(1 个)

Greg Dionne
Greg Dionne 2017-1-16
Are you analyzing a step or a series of steps? Try settlingtime() if you have the Signal Processing Toolbox. That defines the termination condition as being within a given tolerance of the final state level over a specified minimum duration.
  2 个评论
Bart Nijman
Bart Nijman 2017-1-16
no i'm not analyzing a step change, it is not a SISO system. I have now already written my own code for it, thank you.
Bart Nijman
Bart Nijman 2017-1-16
this is the code for anyone interested:
SettlingTime = tspan(find(y>error,1,'last')).
turned out to be quite simple.

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by