Show Step Response Information on Step Response Plot

조회 수: 133 (최근 30일)
MatlabNewbie01232015
MatlabNewbie01232015 2013년 10월 12일
댓글: James Richard 2018년 11월 22일
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
Jonathan LeSage 2013년 10월 14일
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
MatlabNewbie01232015
MatlabNewbie01232015 2013년 10월 15일
Very nice - I understand the approach - well I still need to learn but the example is very clear and easy to follow.

댓글을 달려면 로그인하십시오.

추가 답변 (3개)

Jeffry
Jeffry 2018년 11월 4일
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
James Richard
James Richard 2018년 11월 22일
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

댓글을 달려면 로그인하십시오.


Tekno
Tekno 2018년 3월 6일
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 2018년 5월 24일
what if we don't have the math model in my case, I saved data to "to Workspace" but got erros

카테고리

Help CenterFile Exchange에서 Time and Frequency Domain Analysis에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by