




已阅读5页,还剩67页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Matlab在自动控制理论中的应用,MATLAB概述应用MATLAB进行模型处理用MATLAB进行动态响应分析用MATLAB绘制系统的根轨迹MATLAB频率特性分析MATLAB离散控制系统分析,MATLAB语言基础,一、MATLAB语言的发展matlab语言是由美国CleverMoler博士于1980年开发的。设计者的初衷是为解决“线性代数”课程的矩阵运算问题。取名MATLAB即MatrixLaboratory矩阵实验室的意思。,*MATLAB的历史:70年代后期美国新墨西哥大学clevemoler为linspack和eispack编写的接口程序。80年代初,用C编写的MATLAB二代版本。1984,MATHWORKS公司成立。(图形处理,数值计算、符号计算、文字处理、数学建模、实时控制、动态仿真),计算机语言的发展,标志着计算机语言向“智能化”方向发展,被称为第四代编程语言。,它将一个优秀软件的易用性与可靠性、通用性与专业性、一般目的的应用与高深的科学技术应用有机的相结合。MATLAB是一种直译式的高级语言,比其它程序设计语言容易。,MATLAB语言与其它语言的关系仿佛和C语言与汇编语言的关系一样。,MATLAB已经不仅仅是一个“矩阵实验室”了,它集科学计算、图象处理、声音处理于一身,并提供了丰富的Windows图形界面设计方法MATLAB语言是功能强大的计算机高级语言,它以超群的风格与性能风靡全世界,成功地应用于各工程学科的研究领域,MATLAB在美国已经作为大学工科学生必修的计算机语言之一(C,FORTRAN,ASSEMBLER,MATLAB)近年来,MATLAB语言已在我国推广使用,现在已应用于各学科研究部门和许多高等院校MATLAB语言不受计算机硬件的影响,286以上的计算机都可以使用,二、matlab能在各领域做什么工业研究与开发数学教学,特别是线性代数数值分析和科学计算方面的教学与研究电子学、控制理论和物理学等工程和科学学科方面的教学与研究经济学、化学和生物学等计算问题的所有其他领域中的教学与研究,三、MATLAB语言的特点:语言简洁紧凑,语法限制不严,程序设计自由度大,可移植性好运算符、库函数丰富图形功能强大界面友好、编程效率高扩展性强,四、MATLAB语言的功能:强大的数值(矩阵)运算功能广泛的符号运算功能高级与低级兼备的图形功能(计算结果的可视化功能)可靠的容错功能应用灵活的兼容与接口功能信息量丰富的联机检索功能,1.矩阵运算功能,MATLAB提供了丰富的矩阵运算处理功能,是基于矩阵运算的处理工具。变量矩阵,运算矩阵的运算例如C=A+B,A,B,C都是矩阵,是矩阵的加运算即使一个常数,Y=5,MATLAB也看做是一个11的矩阵,2.符号运算功能符号运算即用字符串进行数学分析允许变量不赋值而参与运算用于解代数方程、微积分、复合导数、积分、二重积分、有理函数、微分方程、泰乐级数展开、寻优等等,可求得解析符号解,3.丰富的绘图功能与计算结果的可视化,具有高层绘图功能两维、三维绘图具有底层绘图功能句柄绘图使用plot函数可随时将计算结果可视化,4.图形化程序编制功能,动态系统进行建模、仿真和分析的软件包用结构图编程,而不用程序编程只需拖几个方块、连几条线,即可实现编程功能,5.丰富的MATLAB工具箱,MATLAB主工具箱符号数学工具箱SIMULINK仿真工具箱控制系统工具箱信号处理工具箱,图象处理工具箱通讯工具箱系统辨识工具箱神经元网络工具箱金融工具箱,许多学科,在MATLAB中都有专用工具箱,现已有30多个工具箱,但MATLAB语言的扩展开发还远远没有结束,各学科的相互促进,将使得MATLAB更加强大。,6.MATLAB的开放式可扩充结构,matlab所有函数都是开放的用户可按自己意愿随意更改正因为此功能,使得matlab的应用越来越广泛7.强大的联机检索帮助系统可随时检索matlab函数可随时查询matlab函数的使用方法,1、启动MATLAB,开机执行程序c:matlabbinmatlab.exe用鼠标双击matlab图标即可打开matlab命令平台,五、初步认识Matlab,启动平台,工作空间窗口,命令历史记录,当前路径窗口,命令窗口,与Windows的窗口界面类似,有菜单项File、Edit、Option、Windows、Help等项可以选择。,工作窗出现以后,即可进行各种操作,菜单项File,其功能如下New建立新文件OpenM-File打开M-文件Openselected打开选定文件SaveWorkspaceAs将工作区存为RunM-File运行M-文件LookForSelected寻找选定文件Print打印PrintSetup打印设置ExitMATLAB退出MATLAB,例、用一个简单命令求解线性系统3x1+x2-x3=3.6x1+2x2+4x3=2.1-x1+4x2+5x3=-1.4A=31-1;124;-145;b=3.6;2.1;-1.4;x=Abx=1.4818-0.46060.3848,对于线性系统有Ax=b,例、用简短命令计算并绘制在0x6范围内的sin(2x)、sinx2、sin2x。x=linspace(0,6)y1=sin(2*x),y2=sin(x.2),y3=(sin(x).2;plot(x,y1,x,y2,x,y3),用四种方法描述cos(x)*sin(y)图形,六、matlab的数据与变量,变量查询函数who与whos作用都是列出在matlab工作空间中已经驻留的变量名清单不同的是whos在给出驻留变量的同时,还给出他们的维数及性质,2.永久变量,在matlab工作内存中,驻留了几个由系统本身在启动时定义的变量,我们称为永久变量永久变量用who指令是查看不到的,只可随时调用,3.what程序查询指令,what按扩展名分类列出当前目录上的文件what*.m列出当前目录中所有m文件,七、文件系统与路径函数,which列出指定文件所在的目录whichtest.m显示test.m所在的路径path路径函数path显示matlab启动时设定的搜索路径,path(path,c:mydir)将根目录下的mydir临时纳入搜索路径可将你需要的目录永久纳入matlab搜索路径打开c:matlabmatlabrc.m文件在所有搜索路径后加上c:mydir;,八、matlab联机帮助命令,help功能提供matlab大部分主题的在线帮助信息help显示help主题一览表helpplotxyz显示有关三维做图指令帮助信息help显示特殊字符与符号帮助信息helphelp显示help的帮助信息,虽然help可以随时提供帮助,但必须知道准确的函数名称。当不能确定函数名称时,help就无能为力了。,Lookfor函数它可提供通过一般的关键词,搜索出一组与之相关的命令lookforfourier寻找含有傅立叶变换的相关指令,help、lookfor两个指令构成了matlab语言相当完善的在线帮助查询系统。,lookforfouri寻找所有包含fouri的指令和注释如FFTDiscreteFouriertransform,九、matlab的演示功能,intro入门演示demo在线演示,应用MATLAB进行模型处理,线性系统理论中常用的数学模型有微分方程模型、传递函数模型等,而这些模型之间又有某些内在的等效关系。在MATLAB中,与传递函数的具体形式相对应,又有tf对象和zpk对象之分,我们分别称为有理分式模型和零极点模型。在本节,就线性定常时不变系统(LTI)数学模型分析中用到的MATLAB方法作一简要介绍,主要有拉氏变换、传递函数的转换、控制系统的特征根及零极点图、方框图模型的传递函数、符号模型的运算等。,1、拉氏变换与反变换,拉氏变换“Laplace”的调用格式如下:L=Laplace(F):是缺省独立变量t的关于符号向量F的拉氏变换,缺省返回关于s的函数。L=Laplace(F,t):是一个关于t代替缺省s项的拉氏变换。L=Laplace(F,w,z):是一个关于z代替缺省s项的拉氏变换。,例求时域函数f(t)=6cos(3t)+e-3tcos(2t)-5sin(2t)的拉氏变换。,symsty;y=laplace(6*cos(3*t)+exp(-3*t)*cos(2*t)-5*sin(2*t),运行结果:y=6*s/(s2+9)+1/4*(s+3)/(1/4*(s+3)2+1)-10/(s2+4),拉氏反变换“iLaplace”的调用格式如下:F=iLaplace(L):是缺省独立变量s的关于符号向量L的拉氏反变换,缺省返回关于t的函数。F=iLaplace(L,y):是一个关于y代替缺省t项的拉氏变换。F=iLaplace(L,y,x):是一个关于x代替缺省t项的拉氏变换。,的拉氏反变换。,例求函数,symssFF=ilaplace(16/(s2+4)+(s+5)/(s+4)2+16),运行结果:F=8*sin(2*t)+exp(-4*t)*cos(4*t)+1/4*exp(-4*t)*sin(4*t),2、传递函数,有理分式模型传递函数的分子和分母均为多项式的形式称为有理分式模型,如下式所示。,在MATLAB中,传递函数分子和分母多项式系数用行向量表示。例如多项式P(s)=s3+2s+4,其输入为P=1024传递函数分子或分母为因式时,调用conv()函数来求多项式向量。例如P(s)=5(s+2)(s+3)(10s2+20s+3),其输入为P=5*conv(12,conv(13,10203)调用函数“tf”可建立传递函数的有理分式模型,其调用格式如下:G=tf(num,den),例已知某一系统的微分方程如下,试求其传递函数。,num=171220;den=1612203625;G=tf(num,den),运行结果:Transferfunction:s3+7s2+12s+20-s5+6s4+12s3+20s2+36s+25,例将传递函数,转换为有理分式,模型。,num=conv(14,14);den=conv(100,conv(15,1526);G=tf(num,den),运行结果:Transferfunction:s2+8s+16-s6+10s5+27s4+16s3+30s2,零极点模型传递函数的分子和分母均为因式的形式称为零极点模型,如下式所示。,MATLAB控制工具箱提供了零极点模型与有理分式模型之间的转换函数,调用格式分别为z,p,k=tf2zp(num,den)num,den=zp2tf(z,p,k)其中,前一个函数可将有理分式模型转换为零极点模型,而后一个函数可将零极点模型转换为有理分式模型。,例将传递函数,转换为零极点模型。,num=61812;den=1526;z,p,k=tf2zp(num,den)%得到零极点及其增益,运行结果:z=-2-1p=-4.8428-0.0786+1.1103i-0.0786-1.1103ik=6即变换后的零极点模型为,验证:调用zp2tf()函数,可得到原传递函数模型,如num,den=zp2tf(z,p,k);%由零极点形式转换为传递函数形式G=tf(num,den)%形成传递函数表达式,3、控制系统的特征根及零极点图,系统的特征根MATLAB提供了多项式求根函数roots(),其调用格式为r=roots(P)其中,P为多项式。例特征方程,r=roots(1304)r=-3.35530.1777+1.0773i0.1777-1.0773i,,其根可由下面语句,求得,零极点图,传递函数在复平面上的零、极点图,采用pzmap()函数来完成,零点用“”表示,极点用“”表示。其调用格式为p,z=pzmap(num,den)其中,p为传递函数,的极点,,的零点。,z为,例某系统开环传递函数如下,试求其零、极点图。,num=10*0.51;den=conv(10,conv(0.251,0.511);pzmap(num,den)%得到零极点图grid,4、控制系统的方框图模型,串联两个系统G1(s)和G2(s)相串联,在MATLAB中可用串联函数series()来求合成系统,其调用格式为num,den=series(num1,den1,num2,den2),并联,两个系统G1(s)和G2(s)相并联,在MATLAB中可用并联函数parallel()来实现合成系统,其调用格式为num,den=parallel(num1,den1,num2,den2),反馈,反馈连接前向通路传递函数为G(s),反馈通路传递函数为H(s),在MATLAB中可用feedback()函数来实现反馈连接,其调用格式为num,den=feedback(numg,deng,numh,denh,sign),用MATLAB进行动态响应分析,1、绘制响应曲线,如果已知闭环传递函数的分子num与分母den,则命令impulse(num,den),impulse(num,den,t)将产生单位脉冲响应曲线。命令step(num,den),step(num,den,t)将产生单位阶跃响应曲线。(t为用户指定时间),Matlab提供了求取线性定常连续系统单位脉冲响应和单位阶跃响应的函数,分别为impulse,step。对单位斜坡响应,可利用单位斜坡函数为单位阶跃函数的积分来间接求取。方法是将待求系统传递函数乘以积分因子1/s,求其单位阶跃响应,即为原系统的单位斜坡响应。利用该方法也可通过单位脉冲响应命令来求取系统的单位阶跃响应。,例2-1:用Matlab绘制系统,响应曲线、单位脉冲响应曲线。,的单位阶跃,num=0025;%分子多项式系数den=1425;%分母多项式系数step(num,den);%产生阶跃响应grid;title(unit-stepresponseof25/(s2+4s+25);%添加标题,将step(num,den)命令改成impulse(num,den)。,例2-2:求系统,系统输出的拉氏变换为,的单位斜坡响应曲线。,num=00025;den=14250;step(num,den,3)gridtitle(unit-stepresponseof25/(s2+4s+25),2、阶跃响应性能分析,当阶跃命令左端含有变量时,如y,x,t=step(num,den,t)将不会显示响应曲线。阶跃响应的输出数据将保存在y中,t中保存各采样时间点。若希望绘制响应曲线,可采用plot命令。,当需要计算阶跃响应性能指标时,可根据各指标的定义,结合y和t中保存的数据,来计算各项性能指标。,例2-3:用Matlab求系统,跃响应性能指标:上升时间、峰值时间、调节时间和超调量。,的单位阶,num=0025;den=1425;y,x,t=step(num,den);peak,k=max(y);%求响应曲线的最大值overshoot=(peak-1)*100%计算超调量tp=t(k)%求峰值时间n=1;%求上升时间whiley(n)0.98)endts=t(m),已知单位负反馈控制系统的开环传递函数为,z=-2;p=0-0.5-0.8-3;k=0.2;Go=zpk(z,p,k);Gc=tf(feedback(Go,1);dc=Gc.den;dens=poly2str(dc1,s)根据特征多项式,求其特征根来判断系统的稳定性。den=14.34.31.40.4;p=roots(den)利用零极点图来判断系统的稳定性。z,p,k=zpkdata(Gc,v)pzmap(Gc),例2-4:,,试判断此闭环系统的稳定性。,例3-4:控制系统结构图如下图所示,试在Simulink环境下构建系统方框图,并对系统的阶跃响应进行仿真。,3、应用Simulink进行仿真,Simulink是一个可视化动态系统仿真环境。使用Simulink可分析非常复杂的控制系统;而且,可以方便地分析系统参数变化对其性能的影响。,用MATLAB绘制系统的根轨迹,在应用Matlab绘制根轨迹时,首先要将系统的开环传递函数写成如下形式:,将分子多项式与分母多项式按s的降幂写成向量形式num和den,则采用以下命令可绘制根轨迹图。rlocus(num,den)该命令不仅可用于连续系统,还可用于离散系统。另外,还可自动获得根轨迹上各点的增益。命令rlocus(num,den,K)直接绘制出给定K值时的闭环极点。,如果引入左端变量,即r,K=rlocus(num,den,K)则r向量中元素为指定K值闭环极点的位置。如果不指定K,即r,K=rlocus(num,den)则r矩阵的行数与K向量的元素相同,列数与极点的个数相同。r中元素分别为各对应K值的闭环极点。这时,使用绘图命令plot(r,)也可绘制系统根轨迹。如果希望在绘制根轨迹时标上符号“o”或“x”,则需要采用下列绘图命令plot(r,o)或plot(r,x)这时,每一个计算的闭环极点都被图解表示出来。,例3-1已知系统的开环传递函数为,应用Matlab绘制系统根轨迹。,,,num=122;den=14160;rlocus(num,den)v=-50-44;axis(v)gridtitle(RootLocusPlotofG(s)H(s)=K(s2+2s+2)/s(s2+4s+16),例3-2已知系统的开环传递函数,应用Matlab绘制系统根轨迹。,,,a=140;b=122;den=conv(a,b);num=1416;rlocus(num,den)v=-40.5-1515;axis(v);gridtitle(RootLocusPlotofG(s)H(s)=K(s2+4s+16)/s(s+4)(s2+2s+2),a=140;b=122;den=conv(a,b);num=1416;K1=0:0.2:20;K2=20:0.1:30;K3=30:5:1000;K=K1K2K3;r=rlocus(num,den,K)plot(r,o)v=-40.5-1515;axis(v);gridtitle(RootLocusPlotofG(s)H(s)=K(s2+4s+16)/s(s+4)(s2+2s+2),或:,MATLAB频率特性分析,MATLAB控制系统工具箱在频率响应法方面提供了许多函数支持,使用它们可以很方便地绘制控制系统的频率特性图并对系统进行频域分析或设计。常用的MATLAB函数有:bode(),绘制控制系统的伯德图;nyquist(),绘制控制系统的奈奎斯特曲线;nichols(),绘制控制系统的尼科尔斯图;margin(),计算控制系统的稳定裕量;freqresp(),计算系统在指定频率处的频率响应值;evalfr(),计算LTI系统在单个复频率处的频率响应值。其中bode,nyquist和nichols函数,既适用于单变量系统也适用于多变量(即MIMO)系统,既适用于连续时间系统也适用于离散时间系统。在这一节里将通过具体的例子来说明如何应用bode、nyquist和nichols等函数绘制控制系统的伯德图和奈奎斯特曲线以及尼柯尔斯图。,MATLAB中绘制Bode图的函数是bode(),调用格式为bode(num,den)bode(num,den,w)mag,phase,w=bode(num,den)mag,phase=bode(num,den,w)Bode(num,den)可以绘制传递函数为,1、Bode图,时系统的bode图。带左端变量的bode函数运行后,屏幕上将不显示bode图,而是在用户指定的频率点向量w上把系统的频率特性表示成幅值和相角,并分别由mag矩阵和phase矩阵来表示。,Bode函数具有自动频率选择功能,函数的输入变量部分未给出频率的范围,则该函数能根据系统模型的特性自地选择频率的变化范围。若需要人为地指定频率范围或频率点w,可以在函数的输入变量部分包含所定义w。w的定义可以采用logspace函数,其格式为W=logspace(a,b,n)其中,a表示最小频率10a;b表示最大频率10b;n表示10a10b之间的频率点数。,例如:,num=100*12;den=121200;bode(num,den);grid;,如果指定频率范围:,,则MATLAB命令改写为:,num=100*12;den=121200;w=logspace(-1,2,200);bode(num,den,w);grid;,在MATLAB中可采用函数margin()来求取相对稳定性,调用格式为:Gm,Pm,wcg,wcp=(num,den)式中,Gm为幅值裕度;Pm为相角裕度;wcg为穿越线,所对应的频率;wcp为幅值为0dB时所对应的频率。,num=100*12;den=121200;margin(num,den),例如:,2、Nyquist图,MATLAB中绘制Nyquist图的函数是nyquist(),调用格式为Nyquist(num,den);Nyquist(num,den,w);re,im=Nyquist(num,den);re,im=Nyquist(num,den,w);Nyquist(num,den)可以绘制传递函数为,时系统的nyquist图。带左端变量的nyquist函数运行后,屏幕上将不显示nyquist图,而是在指定的频率点向量w上把系统的频率特性表示成re和im矩阵,分别对应系统频率特性的实部和虚部。,例如,num=1;den=112;nyquist(num,den);grid;,例如,num=2;den=1230;nyquist(num,den);grid;,此时可以放大镜工具或轴函数axis()命令进行局部放大,进行稳定性分析。如规定实轴、虚轴范围分别为(-1.5,-0.5),(-1,1)有:axis(-1.5-0.5-11);,3、Nichols图,MATLAB中绘制Nichols图的函数是Nichols(),调用格式为nichols(num,den)nichols(num,den,w)mag,phase,w=nichols(num,den)mag,phase=nichols(num,den,w)nichols(num,den)可以绘制传递函数为,时系统的nichols图。当带输出变量引用函数时,可以得到系统nichols图线的数据,而不直接绘出nichols图线。,例如:,num=2;den=1230;nichols(num,den);ngrid;,MATLAB离散控制系统分析,MATLAB在离散控制系统中起着重要作用。无论将连续系统离散化、离散控制系统的离散输出响应、连续输出响应、离散控制系统设计等方面,都可以用MATLAB进行研究。,1、连续系统的离散化,连续系统离散化,在MATLAB中应用c2d()函数实现,其调用格式为c2d(num,den,T,zoh)其中:num传递函数分子多项式系数;den-传递函数分母多项式系数;T采样周期;zoh零阶保持。,例:已知采样系统的结构图如图8-43所示,求开环脉冲传递函数。采样周期T=1s。,解:可用解析法求出,用MATLAB可以方便地求出上述结果,程序如下:num=1;den=1,1,0;T=1;numz,denz=c2d(num,den,T,zoh);printsys(numz,denz,Z),2、采样系统的响应,在MATLAB中,求系统的响应可应用dstep(),dimpulse(),dlsim()函数来实现。分别用于求采样系统的阶跃、脉冲、任意输入时的响应。(1)dstep()函数的调用格式为:dstep(num,den,n)其中:num脉冲传递函数分子多项式系数;de
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安徽省合肥四十五中(橡树湾校区)中考物理一模试卷(含解析)
- 天津耀华嘉诚国际中学2025年高三第二学期期中考试数学试题试卷含解析
- 重庆工业职业技术学院《出镜报道实务》2023-2024学年第二学期期末试卷
- 浙江省慈溪市附海初级中学2024-2025学年初三下第二次模拟考试综合试题含解析
- 吕梁学院《景区运营管理》2023-2024学年第二学期期末试卷
- 廊坊职业技术学院《休闲体育项目概论》2023-2024学年第二学期期末试卷
- 湖北省随州市随县2025年初三下学期学前考试英语试题文试题含答案
- 山东省枣庄市薛城区第八中学2025届高三下学期3月适应性考试历史试题含解析
- 昆明医科大学《现代医学基础》2023-2024学年第二学期期末试卷
- 四川省苍溪县重点达标名校2025年区域教师研修一体课程复数与逻辑含解析
- 会计报表 资产负债表02
- 成人与小儿手术麻醉前禁食指南
- 草坪、草木地被及花卉种植检查记录表
- 急性创伤抢救流程格式
- 铁矿石外贸合同中英对照
- (整理)变频器电力电缆标准
- 《统计学》完整ppt课件(PPT 228页)
- 求一个数比另一个数多几少几应用题
- 公路工程全过程跟踪审计服务方案
- 华南师范大学论文论文封面
- 五年级冀教版英语下册按要求写句子专项习题
评论
0/150
提交评论