Show Step Response Information on Step Response Plot

110 views (last 30 days)
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.

Accepted Answer

Jonathan LeSage
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
tSettle= stepResults.SettlingTime;
% 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(t,y);
grid on;
hold on;
% Plot settling time point
plot(xSettle,ySettle,'ro');
% Plot chart lines to settling point
plot([0 xSettle],[ySettle ySettle],'g-.');
plot([xSettle xSettle],[0 ySettle],'g-.');
hold off;
You could easily repeat this same process for each step response metric of interest. Hope this helps!
  1 Comment
MatlabNewbie01232015
MatlabNewbie01232015 on 15 Oct 2013
Very nice - I understand the approach - well I still need to learn but the example is very clear and easy to follow.

Sign in to comment.

More Answers (3)

Jeffry
Jeffry on 4 Nov 2018
sys = tf(1,[1 .5]);
h = stepplot(sys);
grid on
% characteristics are those found under h.CharacteristicManager.CharacteristicID
h.showCharacteristic('PeakResponse')
h.showCharacteristic('RiseTime')
  1 Comment
James Richard
James Richard on 22 Nov 2018
Go to
[Your Installation Directory]\toolbox\shared\controllib\graphics\@wrfc\@plot\
for more information on this topic
because showCharacteristic.m file is also available there

Sign in to comment.


Tekno
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.

SimTec
SimTec on 24 May 2018
what if we don't have the math model in my case, I saved data to "to Workspace" but got erros

Community Treasure Hunt

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

Start Hunting!