Show Step Response Information on Step Response Plot

112 visualizaciones (últimos 30 días)
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.

Respuesta aceptada

Jonathan LeSage
Jonathan LeSage el 14 de Oct. de 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 comentario
MatlabNewbie01232015
MatlabNewbie01232015 el 15 de Oct. de 2013
Very nice - I understand the approach - well I still need to learn but the example is very clear and easy to follow.

Iniciar sesión para comentar.

Más respuestas (3)

Jeffry
Jeffry el 4 de Nov. de 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 comentario
James Richard
James Richard el 22 de Nov. de 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

Iniciar sesión para comentar.


Tekno
Tekno el 6 de Mzo. de 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 el 24 de Mayo de 2018
what if we don't have the math model in my case, I saved data to "to Workspace" but got erros

Categorías

Más información sobre Time and Frequency Domain Analysis en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by