matlab下载,matlab

阶跃响应指标的求取
在分析系统性能的时候,常常用到阶跃输入,此外,在对系统性能进行优化的时候,往往将阶跃响应的指标作为优化的依据。我们讨论一下在matlab中阶跃响应指标求取的方法。
假设我们得到了两组数据,分别为时间t、输出y,其点的个数是一样多的。阶跃输入时系统响应的典型指标有:超调量pos、峰值时间tp、上升时间tr、调节时间ts、稳态误差ess(steady state error)。
超调量:为过程中输出的最大数值相对于稳态输出的偏差量,(输出最大值-稳态数值)/稳态数值×100%。
峰值时间:即过程中输出的最大数值所对应的时间。
上升时间:一般定义为从稳态输出的10%第一次上升到稳态输出90%所用的时间。
调节时间:输出到达稳态输出的某个误差范围内所用的时间,通常有2%和5%两种误差范围。
稳态误差:为给定输入与稳态输出的差值。
根据以上定义,可以很容易在matlab中求出各项指标。
num=length(t); %数据长度
[mp,dtp]=max(y); %最大值mp和对应的时间点
tp=t(dtp); %最大值时间tp
yss=y(num); %稳态数值yss
pos=100*(mp-yss)/yss; %超调量pos
ess=mp-rin; %稳态误差ess,其中rin为给定输入
for i=1:1:num
if (y(i)>1.02*yss)
ts=t(i);
else if (y(i)<0.98*yss)
ts=t(i);
end
end
end %2%误差 调节时间ts
for i=1:1:num
if (y(i)<0.1*yss)
t1=t(i);
else if (y(i)==mp) %避免运算时间 到最大值即可返回
break;
end
end
end
for i=1:1:num
if (y(i)<0.9*yss)
t2=t(i);
else if (y(i)==mp) %避免运算时间 到最大值即可返回
break;
end
end
end
tr=t2-t1; %上升时间tr
Tags:  matlab论坛 matlab教程 matlab下载

延伸阅读

最新评论

发表评论