|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
求系统单位阶跃给定响应性能指标matlab程序哪里错了?
参照网友程序编写的求阶跃响应调节时间的程序,运行总是有误,
烦请高手指点,或是原程序的出处。谢谢
function [sigma,tp,ts]=perf(key,y,t)
%其中key用来选择调节时间的%5或%2误差,当key=1时表示选择%5误差带,
%key=2表示选择%2误差带。
%count sigma and tp
[mp,tf]=max(y);
cs=length(t);
yss=y(cs);
sigma=100*(mp-yss)/yss
tp=t(tf)
%count ts
i=cs+1;
n=0;
while n==0,
i=i-1;
if key==1
if i==1
n=1;
elseif y(i)>1.05*yss
n=1;
end
elseif key==2,
if i==1,n=1;
elseif y(i)>1.02*yss
n=1;
end
end
end
t1=t(i);
cs=lengt(t);
j=cs+1;
n=0;
while n==0,
j=j-1;
if key==1
if j==1
n=1;
elseif y(j)<0.95*yss
n=1;
end
elseif key==2
if j==1
n=1;
elseif y(j)<0.98*yss
n=1;
end
end
end
t2=t(j);
if t2<tp
if t1>t2
ts=t1;
end
elseif t2>tp
if t2<t1
ts=t2;
else
ts=t1;
end
end
|
|
|