sophiezelman 发表于 2010-3-16 15:05

阶跃响应调节时间 MATLAB程序

求系统单位阶跃给定响应性能指标matlab程序哪里错了?

参照网友程序编写的求阶跃响应调节时间的程序,运行总是有误,
烦请高手指点,或是原程序的出处。谢谢
function =perf(key,y,t)
%其中key用来选择调节时间的%5或%2误差,当key=1时表示选择%5误差带,
%key=2表示选择%2误差带。
%count sigma and tp
=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



yufeng 发表于 2010-3-16 20:08

什么错误 把它贴出来
页: [1]
查看完整版本: 阶跃响应调节时间 MATLAB程序