失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > matlab性系统中的应用 MATLAB在控制系统仿真中的应用

matlab性系统中的应用 MATLAB在控制系统仿真中的应用

时间:2023-08-24 16:54:34

相关推荐

matlab性系统中的应用 MATLAB在控制系统仿真中的应用

《MATLAB在控制系统仿真中的应用》由会员分享,可在线阅读,更多相关《MATLAB在控制系统仿真中的应用(23页珍藏版)》请在人人文库网上搜索。

1、第四章 MATLAB在控制系统仿真中的应用,一、控制系统数学模型的基本描述方法,G(s)= G(s),控制系统仿真中,主要用4种形式的数学模型:传递函数、零极点模型、结构图形式和状态方程模型,传递函数 零极点 状态方程,结构图形式,X = Ax + Bu Y = Cx + Du,4.1.1 控制系统的传递函数描述,用分子分母的系数构成两个向量,唯一的确定出来: num=b1,b2,bn den =a1,a2,an 注意:构成分子,分母向量按降幂排列的顺序。 传递函数的分子、分母均为多项式相乘的形式时,不能 直接写出,可借助多项式乘法运算函数conv( )来处理, 以便获得分子、分母多项式向量,。

2、举例,4.1.2 控制系统的零极点模型,将零点、极点及K值输入即可建立零极点模型。 z=-z,-z ,-z p=-p,-p ,-p k=k 对于给出的传函来说,分别对分子分母作因式分解,则可以得出系统的零极点模型。这可以通过求出分子,分母多项式的根来实现。MATLAB中提供了多项式求根的函数,roots ( ) 调用格式: z=roots(a) 其中:z 各个根所构成的向量 a 多项式系数向量 系统增益k即为原传递函数分子的最高项系数与分母最高项系数的比值。分别求出分子分母多项式的根,即可得到系统的零,极点模型,4.1.3 控制系统状态方程模型,只要将A,B,C,D几个矩阵输入进去即可。 对于。

3、离散系统来说,也与上面类似。 MATLAB还提供了由系统状态方程转换为系统零极点模型及传递函数模型的函数。 num , den=ss2tf(A ,B ,C ,D , iu ) %iu表示输入的序号(对多输入系统) z, p ,k=ss2zp(A ,B ,C ,D , iu ) %z ,p ,k 表示对第iu个输入信号的传递函数的零极点。 A , B ,C ,D= tf2ss (num , den) A , B ,C ,D=zp2ss(z ,p ,k,4.1.4 控制系统工具箱中的LTI对象,为了避免对一个系统采用多个分离变量进行描述,新版本的控制系统工具箱,将LTI系统的各种描述封装成一个对象。

4、,即用一个变量来描述。 在控制系统工具箱中,有以上讲述的三种对象,即ss 对象,tf对象和zpk对象。每种系统模型的生成和模型间的转换均可以通过一个函数来实现,dss( )函数:生成系统的状态空间模型,filt( )函数:生成DSP(数字信号处理)形式的离散传递函数,ss( )函数:生成状态空间模型,或者将传递函数及零极点模型转换成状态空间模型,tf( )函数:生成传递函数模型,或将零极点模型及状态空间模型转换成传递函数模型,zpk( )函数:生成零极点模型或者将其他模型转化成零极点模型,4.1.5 控制系统的结构图描述及转换,注意:复杂的结构图建模可以用SIMUKINK,简单的结构图描述 及。

5、典型连接,串联 并联 负反馈,series() Parallel() Feedback(,二、控制系统的稳定性分析,计算机仿真中,控制系统稳定性的分析方法有: 求闭环特征方程的根; 化为零极点模型,看极点是否在s右半平面; 对状态空间形式(闭环),求A阵的特征值eig(A); 用Lyapunov方程求解。 在自控原理中,均采用间接方法劳斯判据,奈氏判据等,但由于在MATLAB中很容易地求解多项式方程。因此,我们可以直接求出特征方程的根,可用多项式求根函数roots(,控制系统的稳定性分析,numg=1; deng=1 1 2 23; numf=1; denf=1; (num,den)= fee。

6、dback(numg,deng,numf,denf,-1); roots(den,例,三、控制系统的根轨迹,控制系统工具箱中提供了系统根轨迹绘制及分析函数,还有一个GUI分析工具。根轨迹的绘制及分析函数: rlocfind():计算给定根的根轨迹增益 格式:k,poles=rlocfind(sys) k,poles= rlocfind(sys,p) rlocus() 函数:功能为求系统根轨迹。 格式:rlocus(sys)- 计算SISO开环LTI对象的根轨迹, 增益自动选取。 rlocus(sys,k)-显式设置增益。 r,k= rlocus(sys)- 返回系统的增益k(向量)和 闭环极点。

7、r(向量),即对应于增益的闭环极点为r(i) sgrid()函数:绘制连续时间系统根轨迹和零极点图中的阻 尼系数和自然频率栅格线,控制系统的根轨迹,num=2 5 1; den =1 2 3; sys=tf(num,den); rlocus(sys); r,k=rlocus(sys); gain,poles=rlocfind(sys,例:系统开环传递函数,四、系统的频率响应,若系统的传递函数为: G(s) = 则频率特性函数 G(j ) = 若系统由状态空间模型来描述,则系统的频率特性为: G(j )=Cj I+A B+D,计算方法: polyval(num,sqrt(-1)*w)./poly。

8、val(den,sqrt(-1)*w) 或 H=freqresp(sys,系统频率响应曲线的绘制(一,Bode图绘制:bode()函数 调用格式: bode(sys): bode(num,den) bode(A,B,C,D,iu) -可自动地选择一个合适的频率范围。 bode(sys,w)-给出频率范围,这里频率范围一般由logspace(a,b,n)给出。 mag,phase,=bode(sys)或m,p=bode(sys) 这种格式只计算Bode图的幅值向量和相位向量,不画出图形。要在此基础上画图,可用: subplot(211);semilogx(,20*log10(m) %对数幅频曲线。

9、 subplot(212);semilogx(,p) %对数相频曲线 bode(,) bode(,) 这两种格式可在一个图形窗口同时绘多个系统的bode图,系统频率响应曲线的绘制(二,Nyquist曲线的绘制: nyquist()函数 格式: nyquist(sys) nyquist(sys,) nyquist(,) nyquist(,) re,im,=nyquist(sys) re频率响应实部 im虚部,计算控制系统的稳定裕度,margin( )函数 利用该函数可以直接求出系统的幅值裕度和相角裕度。 调用格式为: Gm,Pm,Wcg,Wcp= margin(num,den) = margin。

10、(A,B,C,D) = margin(sys) Gm- 幅值裕度;Pm-相位裕度; Wcg-幅值裕度处对应的频率;Wcp-相位裕度处对应的频率。 Gm,Pm,Wcg,Wcp=margin(mag ,phase,) -根据幅值、相位数据计算稳定裕度。 margin(sys) -在当前图形窗口中绘制出系统裕度的Bode图,五、线性系统时间响应分析,工具箱已提供直接求各种输入下系统响应的函数。 一般控制系统的输入有:阶跃,斜坡,加速度及脉冲输入等。在工具箱中主要提供了如下三种函数: 1step( )函数-求系统阶跃响应 2impulse( )函数:求取系统的脉冲响应 3lsim( )函数:求系统的任。

11、意输入下的仿真,4.5.1 系统阶跃响应,step( )函数-求系统阶跃响应 其调用格式为: 1)step(sys) step(num,den) 2) step(sys,t) -定义仿真时间 这两种格式直接画出响应曲线 3)y,x=step(sys)-只计算仿真数据,不画图。 =step(sys,t) y -各个仿真时刻的输出向量。 x -自动选择的状态向量的时间响应数据。 4)step(sys1,sys2,)同时仿真多个系统,4.5.2 系统脉冲响应,impulse( )函数-求系统脉冲响应 其调用格式为: 1) impulse(sys) impulse(num,den) 2) impuls。

12、e(sys,t) -定义仿真时间 这两种格式直接画出响应曲线 3)y,x= impulse(sys)-只计算仿真数据不画图 = impulse(sys,t) y -各个仿真时刻的输出向量。 x -自动选择的状态向量的时间响应数据。 4) impulse(sys1,sys2,)同时仿真多个系统,4.5.3 任意输入下系统响应,lsim( )函数:求系统的任意输入下的仿真 格式: 1)lism(sys ,u ,t) u-给定输入构成的列向量,它的元 素个数应与t的元素个数相一致。 这种形式还可以写成: lsim(num ,den ,u ,t) lsim(A ,B ,C ,D ,iu ,u ,t)其。

13、中:iu-输入变量序号 2)lsim(sys ,u ,t,)-定义初始状态 3)y,x=lsim(sys ,u ,t ,)-不画出图形只算数据 4)lsim(,t)-同时仿真多个LTI对象,线性系统时间响应分析(一,例:求下面系统在阶跃信号为0.11(t)时系统的响应,num=20; den=1 8 36 40 20; t=0:0.1:20; t1=length(t); u=ones(t1,1)*0.1; y,x=lsim(num ,den ,u ,t) plot(t,y) grid,线性系统时间响应分析(二,例:已知系统开环传递函数为: 求系统单位阶跃响应,并求出超调量、调节时间(误差在5%。

14、以内)、上升时间。(编写相应的M文件实现,n=5;d=1 2 5; nc,dc=feedback(n,d,1,1,-1); s=tf(nc,dc); y,t=step(s); wentai=polyval(nc,0)/polyval(dc,0) caotiao=100*(max(y)-wentai)/wentai,六、延迟系统的仿真,纯时间滞后环节可以由有理函数来近似,1892年法国数字家Pade曾提出了一种著名的有理近似方法,后人将它命名为Pade近似法。其表达式为,控制系统工具箱提供了一个函数pade( ) 调用格式为: num ,den= pade(T ,n) - 返回近似模 T-延迟时间常数 n-要求拟和的阶数 或:A,B,C,D=pade(T ,n)-返回等效状态方程模型 拟和的阶数越高,精度也越高,纯时间滞后环节为,七、状态空间法仿真实现,介绍控制系统工具箱中,几种状态空间法实现的函数 ss2ss( ):功能是进行相似变换 ctrb()函数:功能是计算可控性矩阵 Co=B AB ctrbf()函数:系统的可控与不可控分解 obsv() 函数:计算可观性矩阵 obsvf():系统的可观与不可观分解 minreal():状态空间的最小实现,例:sim4_6.m。

如果觉得《matlab性系统中的应用 MATLAB在控制系统仿真中的应用》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。