资源描述:
《MATLAB语言课件第7讲控制系统分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、5.2.1控制系统时间响应分析5.2控制系统分析1、阶跃响应格式1:给定系统模型num、den(或a、b、c、d),求系统阶跃响应并作图,时间t由系统自动设定。格式2:同上,只是时间t由人工给定(等间隔)。格式3:返回输出变量y、状态变量x的值,不作图。格式4:返回的变量中包括或者不包括t,不作图。step(num,den)step(a,b,c,d)step(num,den,t)step(a,b,c,d,t)[y,x]=step(num,den)[y,x]=step(a,b,c,d)[y,x,t]=step(num,den)[y,x]=step(n
2、um,den,t)例:求下面系统的单位阶跃响应num=[4];den=[1,1,4];step(num,den)计算峰值max(y)计算峰值时间[y,x,t]=step(num,den);tp=spline(y,t,max(y))例:求如下系统的单位阶跃响应a=[0,1;-6,-5];b=[0;1];c=[1,0];d=0;[y,x]=step(a,b,c,d)plot(t,x);holdonplot(y)解:1、假设将自然频率固定为ωn=1,ζ=0,0.1,0.2,0.3,…1,2,3,5。wn=1;zetas=[0:0.1:1,2,3,5];t
3、=0:0.1:12;holdonfori=1:length(zetas)Gc=tf(wn^2,[1,2*zetas(i)*wn,wn^2]);step(Gc,t)endholdoff或者:wn=1;zetas=[0:0.1:1,2,3,5];t=[0:0.1:12]holdonforzet=zetasnum=wn.^2;den=[1,2*zet*wn,wn.^2];step(num,den,t)endholdoff2、将阻尼比ζ的值固定在ζ=0.55,则可以绘制出在各个自然频率ωn下的阶跃响应曲线,wn=[0.1:0.1:1];z=0.55;t=0
4、:0.1:12;holdonfori=1:length(wn)Gc=tf(wn(i)^2,[1,2*z*wn(i),wn(i)^2]);step(Gc,t)endholdoff2、脉冲响应以上各函数的功能为给定系统数学模型,求系统的单位脉冲响应。各种格式同6.1.1中的阶跃响应。impulse(num,den)impulse(a,b,c,d)impulse(num,den,t)impulse(a,b,c,d,t)[y,x]=impulse(num,den)[y,x]=impulse(a,b,c,d)[y,x,t]=impulse(num,
5、den)[y,x]=impulse(num,den,t)例:求下面系统的单位脉冲响应:num=[4];den=[1,1,4];impulse(num,den)G=tf(4,[1,2,3,4]);Gc=tf([1,3],[1,3]);H=tf(1,[0.01,1]);Go=Gc*G;Gc=feedback(Go,H);impulse(Go);figure,impulse(Gc);3、零输入响应格式1:给定系统状态空间模型的参数矩阵a、b、c、d和初始条件x0,求系统的零输入响应,并作图。时间t由系统自动产生。格式2:同格式1,时间t由用户给定。格式3
6、:返回输出变量y、状态变量x及时间t值,不作图。initial(a,b,c,d,x0)initial(a,b,c,d,x0,t)[y,x,t]=initial(a,b,c,d,x0)例:已知二阶系统的状态方程为:求系统的零输入响应和脉冲响应。a=[0,1;-10,-2];b=[0;1];c=[1,0];d=[0];x0=[1,0];subplot(1,2,1);initial(a,b,c,d)subplot(1,2,2);impulse(a,b,c,d)4、一般响应给定系统数学模型,求任意输入信号时,系统时间响应。格式1:给定系统模型参数、控制输入
7、信号u和等时间间隔t,求系统的时间响应,并作图。格式2:给定系统状态空间模型时,计算带初始条件x0的时间响应,并作图。格式3:返回输出变量y和状态变量x,不作图。lsim(num,den,u,t)lsim(a,b,c,d,u,t)lsim(a,b,c,d,u,t,x0)[y,x]=lsim(num,den,u,t)[y,x]=lsim(a,b,c,d,u,t)例:系统传递函数为:输入正弦信号时,观察输出信号的相位差。num=[1];den=[1,1];t=0:0.01:10;u=sin(2*t);holdonplot(t,u,‘:’)lsim(nu
8、m,den,u,t)例:有一二阶系统,求出周期为4秒的方波的输出响应num=[251];den=[123];t=(0:.1