⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tstats.m

📁 离散控制系统设计的MATLAB 代码
💻 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 + -