📄 tstats.m
字号:
function [Mo,tp,tr,ts,ess] = tstats(t,y,ref)% Takes a time vector and a corresponding % step-response vector and returns time-domain % performance measures.%Inputs: t - time vector % y - step response corresponding to t% ref - reference level at steady-state%Outputs: Mo - percent overshoot% tp - time to peak% tr - rise time (10% - 90%)% ts - settling time (2%)% ess - percent steady-state Error%%If the reference level, 'ref', is not specified, 1.0 is assumed.%%%%%%%%%%%%%%%%%%% tstats.m %%%%%%%%%%%%%%%%%%%%% Discrete-Time Control Problems using %% MATLAB and the Control System Toolbox %% by J.H. Chow, D.K. Frederick, & N.W. Chbat %% Brooks/Cole Publishing Company %% September 2002 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if nargin < 3 ref = 1; disp('reference value set = 1.0')end%[maxy,itp] = max(y);tp = t(itp);Mo = 100*(maxy - ref)/ref;i10 = min(find(y>=0.1*ref));i90 = min(find(y>=0.9*ref));if i10 > 0 & i90 < length(y) delt = t(2)-t(1); t10 = t(i10) - delt*(y(i10)-0.10*ref)... /(y(i10)-y(i10-1)); t90 = t(i90) - delt*(y(i90)-0.90*ref)... /(y(i90)-y(i90-1)); tr = t90 - t10;else tr = -9.9999;end%is = max(find(abs(y - ref*ones(size(y)))/ref>0.02));if is < length(y) ts = t(is + 1);else ts = -9.9999;end%ess = abs(100*(y(length(y)) - ref)/ref);%%%%%%%%%%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -