《控制工程基础》第十一章-Matlab软件工具在控制系统分析和综合中的应用课件.ppt

上传人(卖家):三亚风情 文档编号:3602403 上传时间:2022-09-23 格式:PPT 页数:72 大小:639KB
下载 相关 举报
《控制工程基础》第十一章-Matlab软件工具在控制系统分析和综合中的应用课件.ppt_第1页
第1页 / 共72页
《控制工程基础》第十一章-Matlab软件工具在控制系统分析和综合中的应用课件.ppt_第2页
第2页 / 共72页
《控制工程基础》第十一章-Matlab软件工具在控制系统分析和综合中的应用课件.ppt_第3页
第3页 / 共72页
《控制工程基础》第十一章-Matlab软件工具在控制系统分析和综合中的应用课件.ppt_第4页
第4页 / 共72页
《控制工程基础》第十一章-Matlab软件工具在控制系统分析和综合中的应用课件.ppt_第5页
第5页 / 共72页
点击查看更多>>
资源描述

1、第十一章第十一章 MatlabMatlab软件工具软件工具在控制系统分析和综合中的应用在控制系统分析和综合中的应用 Matlab基本特点基本特点 控制系统在控制系统在Matlab中的描述中的描述 进行部分分式展开进行部分分式展开 控制系统的时间响应分析控制系统的时间响应分析 控制系统的频域响应分析控制系统的频域响应分析 控制系统的根轨迹图控制系统的根轨迹图 系统稳定性分析系统稳定性分析 Simulink仿真工具仿真工具1、matlab基本特点基本特点Matlab简介:19801980年前后,美国年前后,美国molermoler博士构思并开发;博士构思并开发;最初的最初的matlabmatlab

2、版本是用版本是用fortranfortran语言编写,语言编写,现在的版本用现在的版本用c c语言改写;语言改写;19921992年推出了具有划时代意义的年推出了具有划时代意义的matlab matlab 4.04.0版本;并于版本;并于19931993年推出了其年推出了其windowswindows平台下的微机版,现在比较新的版本是平台下的微机版,现在比较新的版本是6.6.5 5版版MatlabMatlab语言特点:语言特点:MatlabMatlab以复数矩阵为最基本的运算单元,以复数矩阵为最基本的运算单元,既可以对它整体地进行处理,也可以对它既可以对它整体地进行处理,也可以对它的某个或某些

3、元素进行单独地处理。在的某个或某些元素进行单独地处理。在matlabmatlab中,数据的存储中,数据的存储/输入输入/输出都是以输出都是以矩阵为基础的,矩阵和其它变量不需要预矩阵为基础的,矩阵和其它变量不需要预先定义。先定义。matlabmatlab语言最基本的赋值语句结语言最基本的赋值语句结构为构为 变量名列表变量名列表=表达式表达式等号右边的表达式可以由分号结束,也可以等号右边的表达式可以由分号结束,也可以由逗号或换行结束,但它们的含义是不同的。由逗号或换行结束,但它们的含义是不同的。如果用分号结束,则左边的变量结果将不在如果用分号结束,则左边的变量结果将不在屏幕上显示出来,否则将把左边

4、返回矩阵的屏幕上显示出来,否则将把左边返回矩阵的内容全部显示出来。如内容全部显示出来。如 A=1,0,1;1,0,0;2,1,0;A=1,0,1;1,0,0;2,1,0;B=1,0,2;2,1,1;1,0,1 B=1,0,2;2,1,1;1,0,1B=B=1 0 2 1 0 2 2 1 1 2 1 1 1 0 1 1 0 1在在matlabmatlab下,矩阵下,矩阵A A和矩阵和矩阵B B的乘积(假定的乘积(假定其中其中A A,B B矩阵是可乘的)可以简单地由运矩阵是可乘的)可以简单地由运算算C=AC=A*B B求出求出 C=AC=A*B BC=C=2 0 3 2 0 3 1 0 2 1 0

5、 2 4 1 5 4 1 5而而D=A.D=A.*B B称点乘积运算,即表示称点乘积运算,即表示A A和和B B矩阵矩阵的相应元素之间直接进行乘法运算,然后的相应元素之间直接进行乘法运算,然后将结果赋给将结果赋给D D矩阵,点乘积运算要求矩阵,点乘积运算要求A A和和B B矩矩阵的维数相同。阵的维数相同。D=A.D=A.*B BD=D=1 0 2 1 0 2 2 0 0 2 0 0 2 0 0 2 0 0 MatlabMatlab下提供了两种文件格式:下提供了两种文件格式:m m文件,文件,matlabmatlab函数函数 M M文件文件是普通的是普通的asciiascii码构成的文件,在码构

6、成的文件,在这样的文件中只有由这样的文件中只有由matlabmatlab语言所支持语言所支持的语句,类似于的语句,类似于dosdos下的批处理文件,它下的批处理文件,它的执行方式很简单,用户只需在的执行方式很简单,用户只需在matlabmatlab的提示符的提示符下键入该下键入该m m文件的文件名,这文件的文件名,这样样matlabmatlab就会自动执行该就会自动执行该m m文件中的各条文件中的各条语句。它采用文本方式,编程效率高,语句。它采用文本方式,编程效率高,可读性很强。可读性很强。MatlabMatlab函数函数是最常用的特殊是最常用的特殊m m文件,该函数是由文件,该函数是由fun

7、ctionfunction语句引导,其基本格式如下语句引导,其基本格式如下 Function Function 返回变量列表返回变量列表=函数名(输入量列表)函数名(输入量列表)注释说明语句段注释说明语句段 函数体语句函数体语句调用时在调用时在matlabmatlab的提示符下键入函数名,并包括的提示符下键入函数名,并包括输入变量。类似于输入变量。类似于c c语言的子程序调用。如语言的子程序调用。如Function plot_sin(xmin,xmax)Function plot_sin(xmin,xmax)X=xmin:min(0.01,(xmax-xmin)/100):xmax;X=xmi

8、n:min(0.01,(xmax-xmin)/100):xmax;Plot(x,sin(x);Plot(x,sin(x);%This is a demo%This is a demo 2、控制系统在、控制系统在matlab中的描述中的描述 要分析系统,首先需要能够描述这个系统。要分析系统,首先需要能够描述这个系统。例如用传递函数的形式描述系统例如用传递函数的形式描述系统11211121)(nnnnmmmmasasasabsbsbsbsG在在matlabmatlab中,用中,用num=b1,b2,num=b1,b2,bm,bm1,bm,bm1和和den=a1,a2,den=a1,a2,an,an

9、1,an,an1分别表示分子和分母多项式系数,然后利分别表示分子和分母多项式系数,然后利用下面的语句就可以表示这个系统用下面的语句就可以表示这个系统 sys=tf(num,den)sys=tf(num,den)其中其中tf()tf()代表传递函数的形式描述系统,代表传递函数的形式描述系统,还可以用零极点形式来描述,语句为还可以用零极点形式来描述,语句为 sys1=zpk(sys)sys1=zpk(sys)而且传递函数形式和零极点形式之间可以而且传递函数形式和零极点形式之间可以相互转化,语句为相互转化,语句为 z,p,k=tf2zp(num,den)z,p,k=tf2zp(num,den)num

10、,den=zp2tf(z,p,k)num,den=zp2tf(z,p,k)当传递函数复杂时,应用多项式乘法函数当传递函数复杂时,应用多项式乘法函数conv()conv()等实现。例如等实现。例如 den1=1,2,2den1=1,2,2 den2=2,3,3,2 den2=2,3,3,2 den=conv(den1,den2)den=conv(den1,den2)3、进行部分分式展开、进行部分分式展开 对于下列传递函数对于下列传递函数 nnnnnnnnioasasasbsbsbsbsXsX1111110num和和den分别表示传递函数的分子和分母分别表示传递函数的分子和分母的系数,即的系数,即

11、 numbo,bl,bn den1,al.,an命令命令 r,p,kresidue(num,den)将求出传递函数的部分分式展开式中的留将求出传递函数的部分分式展开式中的留数、极点和余项,即得到数、极点和余项,即得到 skpsrpsrpsrsXsXnnio2211例:例:对于下列系统传递函数对于下列系统传递函数 2332ssssXsXio分子分母表示为分子分母表示为 num=0,1,3 den=1,3,2采用命令采用命令r,p,k=residue(num,den)得到得到 r,p,kresidue(num,den)r20000 10000p100002.0000k即即 21122332ssss

12、ssXsXio反之,利用下列命令反之,利用下列命令 num,den=residue(r,p,k)可以将部分分式展开式返回到传递函数多可以将部分分式展开式返回到传递函数多项式之比的形式,即得到项式之比的形式,即得到 num,denresidue(r,p,k)num0.0000 1.0000 3.0000den=1.0000 3.0000 2.0000当包含当包含m m重极点时,部分分式展开式将重极点时,部分分式展开式将包括下列包括下列m m项:项:mjmjjjjjpsrpsrpsr121例例 对于下列系统传递函数对于下列系统传递函数分子分母表示为分子分母表示为 num=0,1,2,3 den=1

13、,3,3,1采用命令采用命令r,p,k=residue(num,den)1333213223232sssssssssXsXio得到得到num0 1 2 3;den1 3 3 1;r,p,kresidue(num,den)r1.00000.00002.0000p1.00001.0000l.0000k即即 32121011ssssXsXio4、线性系统的时间响应分析、线性系统的时间响应分析MatlabMatlab的的ControlControl工具箱提供了很多线性系工具箱提供了很多线性系统在特定输入下仿真的函数,例如连续时统在特定输入下仿真的函数,例如连续时间系统在阶跃输入激励下的仿真函数间系统在

14、阶跃输入激励下的仿真函数step()step(),脉冲激励下的仿真函数脉冲激励下的仿真函数impulse()impulse()及任意输入激励下的仿真函数及任意输入激励下的仿真函数lsim()lsim()等,等,其中阶跃响应函数其中阶跃响应函数step()step()的调用格式的调用格式y,x=step(sys,t)y,x=step(sys,t)或或 y,x=step(sys)y,x=step(sys)其中其中syssys可以由可以由tf()tf()或或zpk()zpk()函数得到,函数得到,t t为为选定的仿真时间向量,如果不加选定的仿真时间向量,如果不加t t,仿真时仿真时间范围自动选择。此

15、函数只返回仿真数据间范围自动选择。此函数只返回仿真数据而不在屏幕上画仿真图形,返回值而不在屏幕上画仿真图形,返回值y y为系统为系统在各个仿真时刻的输出所组成的矩阵,而在各个仿真时刻的输出所组成的矩阵,而x x为自动选择的状态变量的时间响应数据。为自动选择的状态变量的时间响应数据。如果用户对具体的响应数值不感兴趣,而如果用户对具体的响应数值不感兴趣,而只想绘制出系统的阶跃响应曲线,则可以只想绘制出系统的阶跃响应曲线,则可以由如下的格式调用由如下的格式调用step(sys,t)step(sys,t)或或step(sys)step(sys)求取脉冲响应的函数求取脉冲响应的函数impulse()im

16、pulse()和和step()step()函函数的调用格式完全一致,而任意输入下的仿数的调用格式完全一致,而任意输入下的仿真函数真函数lsim()lsim()的调用格式稍有不同,因为在的调用格式稍有不同,因为在此函数的调用时还应该给出一个输入表向量,此函数的调用时还应该给出一个输入表向量,该函数的调用格式为该函数的调用格式为 y,x=lsim(sys,u,t)y,x=lsim(sys,u,t)式中,式中,u u为给定输入构成的列向量,它的元为给定输入构成的列向量,它的元素个数应该和素个数应该和t t的个数是一致的。当然该函的个数是一致的。当然该函数若调用时不返回参数,也可以直接绘制数若调用时不

17、返回参数,也可以直接绘制出响应曲线图形。例如出响应曲线图形。例如 sys=tf(num,den)sys=tf(num,den)t=0:0.01:5;t=0:0.01:5;u=sin(t);u=sin(t);lsim(sys,u,t)lsim(sys,u,t)为单输入模型为单输入模型syssys对对u(t)=sin(t)u(t)=sin(t)在在5 5秒之内秒之内的输入响应仿真。的输入响应仿真。MATLABMATLAB还提供了离散时间系统的仿真函数,还提供了离散时间系统的仿真函数,包括阶跃响应函数包括阶跃响应函数dstep()dstep(),脉冲响应函数脉冲响应函数dimpulse()dimpu

18、lse()和任意输入响应函数和任意输入响应函数dlsim()dlsim()等,等,它们的调用方式和连续系统的不完全一致,它们的调用方式和连续系统的不完全一致,读者可以参阅读者可以参阅MATLABMATLAB的帮助,如在的帮助,如在MATLABMATLAB的提示符的提示符下键入下键入help dstephelp dstep来了解它们来了解它们的调用方式的调用方式 时域分析常用函数如下:时域分析常用函数如下:step -step -阶跃响应阶跃响应impulse -impulse -脉冲响应脉冲响应lsim -lsim -对指定输入的连续输出对指定输入的连续输出gensig -gensig -对对

19、LSIMLSIM产生输入信号产生输入信号stepfun -stepfun -产生单位阶跃输入产生单位阶跃输入例例 对于下列系统传递函数对于下列系统传递函数下列下列MATLAB Programl1.1将给出该将给出该系统的单位阶跃响应曲线。该单位阶系统的单位阶跃响应曲线。该单位阶跃响应曲线如图跃响应曲线如图1所示。所示。1225502sssXsXio-MATLAB Programl1.1-num=0,0,50;den=25,2,1;step(num,den)gridtitle(Unit-Step Response of G(s)=50/(25s2+2s+1)图 1 G(s)=50/(252s+2

20、s+1)的单位阶跃响应曲线 例例 考虑下列系统考虑下列系统试求该系统的单位阶跃响应曲线。试求该系统的单位阶跃响应曲线。虽然用虽然用MATLABMATLAB求该系统的单位阶跃响应求该系统的单位阶跃响应曲线时,不需要求它的传递函数表达式,曲线时,不需要求它的传递函数表达式,这里导出这种表达式,以便作为参考。这里导出这种表达式,以便作为参考。对于给定的系统,传递矩阵对于给定的系统,传递矩阵G G(s s)为为 21212121211001011105.611xxyyuuxxxx sUsUssssssssssssYsYsssssssssssBAsICsG2122222122115.65.65.65.7

21、5.65.615.65.715.61011115.615.6101115.6111001 该系统包含两个输入量和两个输出量,根据考该系统包含两个输入量和两个输出量,根据考虑不同的输入信号和输出信号,可以定义虑不同的输入信号和输出信号,可以定义4 4个传递个传递函数。当考虑信号函数。当考虑信号u u1 1为输入量时,我们假设为输入量时,我们假设u u2 2为零,为零,反之亦然。这反之亦然。这4 4个传递函数为个传递函数为 5.65.65.65.65.75.61222221212211sssUsYssssUsYssssUsYssssUsY利用下列命令:利用下列命令:stepstep(A,B,C,D

22、A,B,C,D)可以画出可以画出4 4个单独的阶跃响应曲线,程序如个单独的阶跃响应曲线,程序如下:下:A=-1-1;6.5 0;B=1 1;1 0;C=1 A=-1-1;6.5 0;B=1 1;1 0;C=1 0;0 1;D=0 0;0 0;step(A,B,C,D)0;0 1;D=0 0;0 0;step(A,B,C,D)例例 对于下列系统传递函数对于下列系统传递函数下列下列MATLAB Programl1.2将给出该将给出该系统的单位脉冲响应曲线。该单位脉系统的单位脉冲响应曲线。该单位脉冲响应曲线如图冲响应曲线如图2所示。所示。1225502sssXsXio-MATLAB Programl

23、1.2-num=0,0,50;den=25,2,1;impulse(num,den)gridtitle(Unit-Impulse Response of G(s)=50/(25s2+2s+1)图 2 G(s)=50/(252s+2s+1)的单位脉冲响应曲线 在在MATLAB中没有斜坡响应命令,可利用阶跃中没有斜坡响应命令,可利用阶跃响应命令求斜坡响应,先用响应命令求斜坡响应,先用s除除G(s),),再利用再利用阶跃响应命令。例如,考虑下列闭环系统:阶跃响应命令。例如,考虑下列闭环系统:对于单位斜坡输人量对于单位斜坡输人量下列下列MATLAB Programl1.3给出该系统单位斜给出该系统单位

24、斜坡响应曲线。该单位斜坡响应曲线如图坡响应曲线。该单位斜坡响应曲线如图3所示。所示。1225502sssXsXio 21ssXi ssssssssssssXo1225501122550112255023222-MATLAB Programl1.3-num=0,0,0,50;den=25,2,1,0;t=0:0.01:100;step(num,den,t)gridtitle(Unit-Step ramp Response of G(s)=50/(25s2+2s+1)图3 G(s)=50/(252s+2s+1)的单位斜坡响应曲线5、控制系统的频域响应分析、控制系统的频域响应分析已知系统的传递函数模

25、型如第已知系统的传递函数模型如第2 2节所示,节所示,则该系统的频率响应为则该系统的频率响应为可以由下面的语句来实现,如果有一个频可以由下面的语句来实现,如果有一个频率向量率向量w w,则则Gw=polyval(num,sqrt(-Gw=polyval(num,sqrt(-1)1)*w)./polyval(den,sqrt(-1)w)./polyval(den,sqrt(-1)*w);w);其中其中numnum和和denden分别为系统的分子分母多项分别为系统的分子分母多项式系数向量。式系数向量。11211121)()()()()()()(nnnnmmmmajajajabjbjbjbjG频率响

26、应曲线绘制频率响应曲线绘制MATLABMATLAB提供了多种求取并绘制系统频率响提供了多种求取并绘制系统频率响应曲线的函数,如应曲线的函数,如BodeBode图绘制函数图绘制函数bode()bode(),NyquistNyquist曲线绘制函数曲线绘制函数nyquist()nyquist()等,其中等,其中bode()bode()函数的调用格式为函数的调用格式为 m,p=bode(num,den,w)m,p=bode(num,den,w)这里,这里,num,dennum,den和前面的叙述一样,和前面的叙述一样,w w为频为频率点构成的向量,该向量最好由率点构成的向量,该向量最好由logspa

27、ce()logspace()函数构成。函数构成。m,pm,p分别代表分别代表BodeBode响应的幅值向响应的幅值向量和相位向量。量和相位向量。如果用户只想绘制出系统的如果用户只想绘制出系统的BodeBode图,而对图,而对获得幅值和相位的具体数值并不感兴趣,获得幅值和相位的具体数值并不感兴趣,则可以由以下更简洁的格式调用则可以由以下更简洁的格式调用bode()bode()函函数数bode(num,den,w)bode(num,den,w)或更简洁地或更简洁地 bode(num,den)bode(num,den)这时该函数会自动地根据模型的变化情况这时该函数会自动地根据模型的变化情况选择一个比

28、较合适的频率范围。选择一个比较合适的频率范围。NyquistNyquist曲线绘制函数曲线绘制函数nyquist()nyquist()类似于类似于bode()bode()函数,可以利用函数,可以利用help nyquisthelp nyquist来了解来了解它的调用方法。它的调用方法。在分析系统性能的时候经常涉及到系统的幅在分析系统性能的时候经常涉及到系统的幅值裕量与相位裕量的问题,使用值裕量与相位裕量的问题,使用ControlControl工工具箱提供的具箱提供的margin()margin()函数,可以直接求出系函数,可以直接求出系统的幅值裕量与相位裕量,该函数的调用格统的幅值裕量与相位裕

29、量,该函数的调用格式为式为 Gm,Pm,wcg,wcp=margin(num,den)Gm,Pm,wcg,wcp=margin(num,den)可以看出,该函数能直接由系统的传递函可以看出,该函数能直接由系统的传递函数来求取系统的幅值裕量数来求取系统的幅值裕量GmGm和相位裕度裕和相位裕度裕量量PmPm,并求出幅值裕量和相位裕量处相应并求出幅值裕量和相位裕量处相应的频率值的频率值wcgwcg和和wcpwcp。常用频域分析函数如下:常用频域分析函数如下:bode -bode -频率响应伯德图频率响应伯德图 nyquist -nyquist -频率响应乃奎斯特图频率响应乃奎斯特图 nichols

30、-nichols -频率响应尼柯尔斯图频率响应尼柯尔斯图 freqresp -freqresp -求取频率响应数据求取频率响应数据 margin -margin -幅值裕量与相位裕量幅值裕量与相位裕量 pzmap -pzmap -零极点图零极点图使用时可以利用他们的帮助,如使用时可以利用他们的帮助,如help bode。另外,命令另外,命令ltiview可以画时域响应和频域可以画时域响应和频域响应图,利用响应图,利用help ltiview查看使用说明。查看使用说明。例例 对于下列系统传递函数对于下列系统传递函数下列下列MATLAB Programl1.4将给出该系统将给出该系统对应的伯德图。

31、其伯德图如图对应的伯德图。其伯德图如图4所示。所示。122550)(2sssG-MATLAB Programl1.4-num=0,0,50;den=25,2,1;bode(num,den)grid title(Bode Diagram of G(s)=50/(25s2+2s+1)图 4 G(s)=50/(252s+2s+1)的伯德图如果希望从如果希望从0.01弧度秒到弧度秒到1000弧度弧度/秒画秒画伯德图,可输入下列命令:伯德图,可输入下列命令:w=logspace(-2,3,100)bode(num,den,w)该命令在该命令在0.01弧度秒和弧度秒和100弧度秒之间弧度秒之间产生产生10

32、0个在对数刻度上等距离的点个在对数刻度上等距离的点例例 对于下列系统传递函数对于下列系统传递函数 下列下列MATLAB Programl1.5将给出该系统将给出该系统对应的伯德图。其伯德图如图对应的伯德图。其伯德图如图5所示。所示。22310)(2ssssssG-MATLAB Programl1.5-num=10,30;den1=1,2,0;den2=1,1,2;den=conv(den1,den2);w=logspace(-2,3,100);bode(num,den,w)gridt i t l e(B o d e D i a g r a m o f G(s)=10(s+3)/s(s+2)(s

33、2+s+2)图5 G(s)=10(s+3)/s(s+2)(s2+s+2)的伯德图例例 对于下列系统传递函数对于下列系统传递函数 下列下列MATLAB Programl1.6将给出该系统对将给出该系统对应的乃奎斯图。其乃奎斯特图如图应的乃奎斯图。其乃奎斯特图如图6所示。所示。-MATLAB Programl1.6-num=0,0,50;den=25,2,1,;nyquist(num,den)t i t l e(N y q u i s t P l o t o f G(s)=50/(25s2+2s+1)122550)(2sssG图 6 G(s)=50/(252s+2s+1)的乃奎斯特图例例 考虑由下

34、列方程定义的系统:考虑由下列方程定义的系统:该系统包含两个输入量和两个输出量。这里该系统包含两个输入量和两个输出量。这里存在存在4 4种正弦输出种正弦输出-输入关系:输入关系:Y Y1 1(jj)U Ul l(jj)、)、Y Y2 2(jj)U Ul l(jj)、)、Y Y1 1(jj)U U2 2(jj)和和Y Y2 2(jj)U2U2(jj)。)。试画试画出该系统的奈魁斯特图。出该系统的奈魁斯特图。MATLAB Program 10MATLAB Program 10A=-1 -1;6.5 0;B=1 1;1 0;C=1 A=-1 -1;6.5 0;B=1 1;1 0;C=1 0;0 1;D

35、=0 0;0 0;0;0 1;D=0 0;0 0;nyquist(A,B,C,D)nyquist(A,B,C,D)6、控制系统的根轨迹图、控制系统的根轨迹图 通常采用下列通常采用下列MATLAB命令画根轨迹命令画根轨迹 rlocus(num,den)利用该命令,可以在屏幕上得到画出的根利用该命令,可以在屏幕上得到画出的根轨迹图。增益向量轨迹图。增益向量K自动被确定。命令自动被确定。命令rlocus既适用于连续系统,也适用于离散既适用于连续系统,也适用于离散时间系统。时间系统。对于定义在状态空间内的系统,其命令为对于定义在状态空间内的系统,其命令为 rlocus(A,B,C,D)MATLAB在绘

36、图命令中还包含自动轴定标在绘图命令中还包含自动轴定标功能。功能。例例 对于一单位反馈控制系统,其开环传递对于一单位反馈控制系统,其开环传递函数为函数为 下列下列MATLAB Programl1.7将给出该系统将给出该系统对应的根轨迹图。其根轨迹图如图对应的根轨迹图。其根轨迹图如图7所示。所示。223)(2sssssKsG-MATLAB Programl1.7-num=1,3;den1=1,2,0;den2=1,1,2;den=conv(den1,den2);rlocus(num,den)v=-10 10-10 10;axis(v)gridt i t l e(R o o t-L o c u s

37、P l o t o f G(s)=K(s+3)/s(s+2)(s2+s+2)7、系统稳定性分析、系统稳定性分析给定一个控制系统,可利用给定一个控制系统,可利用MATLABMATLAB在它的在它的时域、频域图形分析中看出系统的稳定性,时域、频域图形分析中看出系统的稳定性,并可直接求出系统的相角裕量和幅值裕量。并可直接求出系统的相角裕量和幅值裕量。此外,我们还可通过求出特征根的分布更此外,我们还可通过求出特征根的分布更直接地判断出系统稳定性。如果闭环系统直接地判断出系统稳定性。如果闭环系统所有的特征根都为负实部则系统稳定。所有的特征根都为负实部则系统稳定。例如,给出控制系统闭环传递函数为例如,给出

38、控制系统闭环传递函数为 num=3,2,1,4,2num=3,2,1,4,2num=num=3 2 1 4 2 3 2 1 4 2 den=3,5,1,2,2,1 den=3,5,1,2,2,1den=den=3 5 1 2 2 1 3 5 1 2 2 1 z,p=tf2zp(num,den)z,p=tf2zp(num,den)1225324232345234sssssssssz=z=0.4500+0.9870i 0.4500+0.9870i 0.4500-0.9870i 0.4500-0.9870i -1.0000 -1.0000 -0.5666 -0.5666 p=p=-1.6067 -1

39、.6067 0.4103+0.6801i 0.4103+0.6801i 0.4103-0.6801i 0.4103-0.6801i -0.4403+0.3673i -0.4403+0.3673i -0.4403-0.3673I -0.4403-0.3673Ipzmap(num,den)pzmap(num,den)-2-1.5-1-0.500.5-1-0.8-0.6-0.4-0.200.20.40.60.81Real AxisImag AxisPole zero map ii=find(real(p)0)ii=find(real(p)0)ii=ii=2 2 3 3 n1=length(ii)n1

40、=length(ii)n1=n1=2 2 if(n10),disp(System is unstable,if(n10),disp(System is unstable,with int2str(n1)unstable with int2str(n1)unstable poles);poles);else disp(Syatem is stable);else disp(Syatem is stable);endendSystem is unstable,with 2 unstable System is unstable,with 2 unstable polespoles disp(The

41、 unstable poles are:),disp(The unstable poles are:),disp(p(ii)disp(p(ii)The unstable poles are:The unstable poles are:0.4103+0.6801i 0.4103+0.6801i 0.4103-0.6801i 0.4103-0.6801i以上求出具体的零极点、画出零极点分布、以上求出具体的零极点、画出零极点分布、明确指出系统不稳定,并指出引起系统不明确指出系统不稳定,并指出引起系统不稳定的具体右根。稳定的具体右根。8、Simulink仿真工具如果控制系统的结构很复杂,则若不借助如

42、果控制系统的结构很复杂,则若不借助专用的系统建模软件,在过去很难准确地专用的系统建模软件,在过去很难准确地把一个控制系统的复杂模型输入给计算机,把一个控制系统的复杂模型输入给计算机,对之进行分析和仿真。对之进行分析和仿真。19901990年年MathWorksMathWorks软软件公司为件公司为MATLABMATLAB提供了新的控制系统模型提供了新的控制系统模型输入与仿真工具,命名为输入与仿真工具,命名为SIMULINKSIMULINK,这一名字的含义相当直观,这一名字的含义相当直观,SIMUSIMU(仿真)仿真)与与LINKLINK(连接),亦即可以利用鼠标器在连接),亦即可以利用鼠标器在

43、模型窗口上模型窗口上“画画”出所需的控制系统模型,出所需的控制系统模型,然后利用然后利用SIMULINKSIMULINK提供的功能来对系统进提供的功能来对系统进行仿真或线性化。这种法的一个优点是,行仿真或线性化。这种法的一个优点是,可以使得一个很复杂系统的输入变得相当可以使得一个很复杂系统的输入变得相当容易且直观。容易且直观。首先根据一个例子来说明控制系统框图模型首先根据一个例子来说明控制系统框图模型的建立,这是一个简化的调速系统。我们看的建立,这是一个简化的调速系统。我们看如何利用如何利用SimulinkSimulink工具输入这个框图,然后工具输入这个框图,然后再进行分析。具体利用再进行分析。具体利用SimulinkSimulink建立框图的建立框图的方法见网络辅助教学中方法见网络辅助教学中“控制工程基础控制工程基础”第第1111章有关内容。章有关内容。下图是下图是Matlab中中Simulink工具建立的例题工具建立的例题框图。可以点击图中框图。可以点击图中Simulation下的下的start图标开始仿真,然后双击框图中的图标开始仿真,然后双击框图中的scope,查看仿真图形。其他仿真命令大家可以自查看仿真图形。其他仿真命令大家可以自行学习。行学习。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(《控制工程基础》第十一章-Matlab软件工具在控制系统分析和综合中的应用课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|