资源描述:
《matlab应用介绍16882》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、MATLAB应用介绍一、控制系统模型的建立(一)系统模型系统的表示可用三种模型:传递函数、零极点增益、状态空间。1、传递函数模型在MATLAB中,直接用分子、分母的系数矢量组[num,den]表示,即num=[b1,b2,…,bm]den=[a1,a2,…,an]例:将传递函数以分子、分母系数矢量组num、den的形式表示出来。num=[0.2,0.3,1]den=[1,0.9,1.2,0.5]2、零极点增益模型在MATLAB中,用[z,p,k]矢量组表示,即z=[z1,z2,…,zm];p=[p1,p2,…,pn]
2、;k=[k];例:将系统的零极点增益模型以z,p,k矢量组表示。k=6z=[-3]p=[-1,-2,-5]3、状态空间模型在MATLAB中,系统可用(a,b,c,d)矩阵组表示。(二)模型建立及转换1、tf()功能:建立传递函数形式格式:sys=tf(num,den)说明:可将分子、分母系数矢量组num、den表示的传递函数模型,以直接的传递函数形式表示出来。例1:写出下面传递函数模型的标准形式。解:在MATLAB中,可直接利用tf函数求出num=[0.2,0.3,1];p1=[1,0.4,1];p2=[1,0.5]
3、;den=conv(p1,p2);%p1(s)*p2(s)H=tf(num,den)执行后例:已知将该传递函数输入MATLAB。>>num=6*[1,5];den=conv(conv(conv([1,3,1],[1,3,1]),[1,6]),[1,6,5,3]);G=tf(num,den)Transferfunction:6s+30----------------------------------------------------------------------------------------------
4、--s^8+18s^7+124s^6+417s^5+740s^4+729s^3+437s^2+141s+182、zpk()功能:建立零极点增益形式格式:sys=zpk(z,p,k)说明:可将零极点增益向量组z、p、k表示的系统模型,以直接的零极点增益形式表示出来。例:设系统的传递函数模型为求系统的零极点增益模型。解:MATLAB程序为:num=[618];den=[181710];[z,p,k]=tf2zp(num,den);G=zpK(z,p,k)执行后得3、tf2zp()功能:变系统传递函数形式为零极点增益形式。
5、格式:[z,p,k]=tf2zp(num,den)说明:tf2zp函数将多项式传递函数形式的系统转换为零点、极点和增益形式。4、zp2tf()功能:变系统零极点增益形式为传递函数形式。格式:[num,den]=zp2tf(z,p,k)说明:zp2tf可将以z,p,k表示的零极点增益形式变换成传递函数形式。例2:设系统的零极点增益模型为求系统的传递函数。解:在MATLAB中,可直接利用zp2tf函数求出,MATLAB程序为:k=6;z=[-3];p=[-1,-2,-5];[num,den]=zp2tf(z,p,k)H=
6、tf(num,den)执行后得num=00618den=181710(三)系统建模1、parallel()功能:系统的并联连接。格式:[num,den]=parallel(num1,den1,num2,den2)说明:parallel函数按并联方式连接两个系统。2、series()功能:系统的串联连接。格式:[num,den]=series(num1,den1,num2,den2)说明:series函数可将两个系统按串联方式进行连接。例:已知G1(s)和G2(s),求两者串联后的传递函数。num1=[11];den1
7、=[12];num2=[1];den2=[50000];[num,den]=series(num1,den1,num2,den2);G=tf(num,den)3、feedback()功能:两个系统的反馈连接。格式:[num,den]=feedback(num1,den1,num2,den2)[num,den]=feedback(num1,den1,num2,den2,sign)说明:feedback函数可将两个系统按反馈形式进行连接,sign缺省时,默认为负4、cloop()功能:系统的闭环形式。格式:[numc,d
8、enc]=cloop(num,den,sign)说明:cloop函数可通过将系统输出反馈到系统输入构成单位闭环系统。当sign=1时采用正反馈;当sign=-1时采用负反馈;sign缺省时,默认为负反馈。例LZ:求该系统的传递函数。编写的M程序如下:num1=[1];den1=[11];num2=[1];den2=[0.10];[num,den