Show Step Response Information on Step Response Plot
348 views (last 30 days)
MatlabNewbie01232015 on 12 Oct 2013
Normally, if I want to display the information of the Step Response (peak, rise time, etc). I click on the plot and select "Characteristics > Peak Response",etc. I intend to design a Gui (very basic one) that the Step Response will automatically show these information at run-time.
step(handles.axes_step,sys, stepinfo(sys)) %I have trouble with the show stepinfo on the plot. If I cannot find a way, I just let it be but I guess there should be a way.
Jonathan LeSage on 14 Oct 2013
You're on the right track trying to use stepinfo. The stepinfo function returns a structure containing all the common step response metrics. You can directly plot the these results. Here is some example code to get you started:
% Defining an arbitrary system
s = tf('s');
G = 1/(s^2 + 5*s + 2);
% Computing the system step response
[y,t] = step(G);
stepResults = stepinfo(y,t);
% Extract the settling time from the stepinfo structure
% Other step response results of interest can be found by looking in
% the stepResults structure
% Find the first index where time exceeds the settling time
% To further improve this, you could interpolate between the points.
indexSettle = find(t >= tSettle,1,'first');
xSettle = t(indexSettle);
ySettle = y(indexSettle);
% Plot step response
% Plot settling time point
% Plot chart lines to settling point
plot([0 xSettle],[ySettle ySettle],'g-.');
plot([xSettle xSettle],[0 ySettle],'g-.');
You could easily repeat this same process for each step response metric of interest. Hope this helps!
More Answers (3)
Jeffry on 4 Nov 2018
sys = tf(1,[1 .5]);
h = stepplot(sys);
% characteristics are those found under h.CharacteristicManager.CharacteristicID
Tekno on 6 Mar 2018
dear Jonathan LeSage i have data in figure , how can i get the step info from it? im using matlab 2015 version, please your support.