Matlab 单位阶跃响应曲线三维图、上升时间、峰值时间、最大过调量和调整时间

来源:互联网 发布:广义逆矩阵的定义 编辑:程序博客网 时间:2024/05/21 06:50
1.Matlab作单位阶跃响应曲线的三维图


定义闭环系统传递函数如下:
H(s)=1/(s^2+2*zeta*s+1)
%Matlab作单位阶跃响应曲线的三维图%标准二阶系统响应曲线 wn=1t=0:0.2:10;zeta=[0 0.2 0.4 0.8 1];for n=1:6num=1;den=[1 2*zeta(n) 1];[y(1:51,n),x,t]=step(num,den,t) ;endplot(t,y)mesh(t,zeta,y')




2.用Matlab求上升时间、峰值时间、最大过调量和调整时间


定义闭环系统传递函数如下:
H(s)=25/(s^2+6*s+25)


%求上升时间、峰值时间、最大过调量和调整时间%可以应用到高阶系统num=[0 0 25];den=[1 6 25];t=0:0.005:5;[y,x,t]=step(num,den,t) ;r=1;while y(r)<1.0001;r=r+1;end;rise_time=(r-1)*0.005[ymax,tp]=max(y);peak_time=(tp-1)*0.005max_overshoot=ymax-1s=1001;while y(s)>0.98&y(s)<1.02;s=s-1;end;settle_time=(s-1)*0.005






运行后结果:
rise_time =    0.5550
peak_time =   0.7850
max_overshoot =    0.0948
settle_time =    1.1850


求单位脉冲响应的两种方法(求斜坡响应也可用此方法)


在初始条件为零时,H(s)的单位脉冲响应也就是sH(s)的单位阶跃响应
H(s)=1/(s^2+0.2*s+1)


num=[1];
den=[1 0.2 1];
impulse(num,den)


或 


num=[0 1 0];
den=[1 0.2 1];
step(num,den)
1 0