MATLAB基础控制课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《MATLAB基础控制课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 基础 控制 课件
- 资源描述:
-
1、精选版课件ppt1 3.1 控制系统工具箱简介控制系统工具箱简介3.2 系统建模系统建模3.3 模型转换函数模型转换函数3.4 最常用的分析函数最常用的分析函数3.5 LTI viewer3.6 基于传递函数模型的控制系统串联校正基于传递函数模型的控制系统串联校正3.7 基于传递函数模型的控制系统根轨迹校正基于传递函数模型的控制系统根轨迹校正精选版课件ppt2 MATLAB是一个丰富的函数集合,这对各个行业的应用有很好的作用。MATLAB除了提供上面讲述的基本内容外,还有很多扩展功能,这些扩展功能就是工具箱。MATLAB的控制工具箱是MATLAB最早的工具箱之一,它实现普通的控制系统设计、分析
2、和建模技术。控制系统可作为传或函数式或状态空间形式来建模,允许使用经典和现代的技术。控制工具箱适用于线性时不变系统。3.2 系统建模系统建模3.2.1状态空间模型状态空间形式的系统方程写为:DuCxyBuAxx在MATLAB中,这个系统简单的写为A、B、C、D四个矩阵的形式即可。例如在MATLAB命令窗或M文件中输入:精选版课件ppt3uxxxxxx10000100008.20980010321321321001 xxxy精选版课件ppt4 在系统状态方程的建模过程中,MATLAB还提供了转换为各种规范化模型的方法。如原模型转换为对角模型的方法eig()、转换为可控规范型的方法,转换为可观测规
3、范型的方法等,请各位自行阅读相关教材。3.2.2 传递函数模型 这是传递函数的最一般表达方式,一般记为:01110111)(asasasabsbsbsbsGnnnnmmmm 在MATLAB中,传递函数分别使用分子、分母的多项式表示,即num和den两个多项式向量,多项式向量元素使用s降幂排列的系数。其中不存在的系统阶次使用0填充。例如,要创建一个传递函数模型,可在MATLAB命令窗或M文件中可输入:(1)分子分母为s的多项式模型精选版课件ppt5NUM=bm bm-1 b1 b0;DEN=an an-1 a1 a0;Sys=tf(NUM,DEN)其中,Sys=tf(NUM,DEN)用于创建一个
4、传递函数的表达,今后,对该传递函数的引用仅使用Sys作为标识即可。现假定要创建的系统传递函数为:2051)(2ssssG我们在MATLAB命令窗或M文件中输入:num=1 1;den=1 5 20;Sys=tf(num,den)%创建传递函数模型Transfer function:s+1-s2+5 s+20 精选版课件ppt6 (2)零极点增益模型)()()()()(2121nmpspspszszszsksG 零极点增益形式的控制系统表示为:在MATLAB中,这种形式的创建可使用增益k、分子零点向量z、分母极点向量p表示。其格式为Sys=zpk(Z,P,K)其中:Z=-zm zm-1 z1 z
5、0,P=-pn-pn-1-p1-p0;K=k;对于上面的例子我们也可写成:)708.35.2)(708.35.2(12051)(2jsjssssssG则要创建零极点模型,我们在MATLAB命令窗或M文件中输入:精选版课件ppt7z=-1;p=-2.5000+3.7081i,-2.5000-3.7081i;k=1;Sys=zpk(z,p,k)Zero/pole/gain:(s+1)-(s2 +5s+20)(3)传递函数的部分分式展开根据传递函数系统的时间域响应时,通常要用到有理分式的部分分式展开。所谓部分分式展开,就是将高阶的有理分式化为若干个一阶有理分式之和的形式。如果传递函数G(s)不包含多
6、重极点,那么,将G(s)用部分分式展开后即可得到:niiipsrksG1)(精选版课件ppt8k是常数项,对于真分式来说k=0。r是各分式的系数,p是系统的极点。在MATLAB中,要进行传递函数的部分分式展开,可调用函数:r p k=residue(num,den)其中num和den分别表示降幂排列的该有理分式的分子和分母多项式系数;r是求得的部分分式展开的各分式系数,p是系统极点,k是常数项。有了这些结果,就可以根据部分分式展开求解系统的时间响应了。例如对于上面的例子,键入:r p k=residue(num,den)r=0.5000+0.2023i 0.5000-0.2023ip=-2.5
7、000+3.7081i -2.5000-3.7081ik=精选版课件ppt9 控制系统可由微分方程描述、传递函数描述和状态方程描述。其中微分方程描述是整个控制系统数学描述的基础,传递函数描述和状态方程描述都是在微分方程描述的基础上发展起来的。但由于形式不够简洁,处理和运算不够方便,一般在控制系统仿真和设计时已经很少直接用到微分方程描述了。但因为人们习惯使用的传递函数描述和状态方程描述分属于频率域和时间域,这样一来就存在一个模型间相互转换的问题。MATLAB提供了直接进行控制系统模型间相互转换的函数,可以完成传递函数描述与状态方程描述之间的相互转换,控制系统方框图与传递函数描述和状态方程描述之间
8、的转换,以及状态方程描述的最小实现等。为便于这些函数的记忆,注意以下标记:ss状态空间模型;tf传递函数模型;zp零极点模型;2 to精选版课件ppt103.3.1 传递函数向状态方程的转换传递函数向状态方程的转换 在实际的控制系统仿真和设计中,系统的结构和参数基本上是未知的。这时要想通过分析的方法建立系统的状态方程描述是非常困难的,甚至是不可能的。一个可行的办法是,先用实验的方法确定其输入与输出之间的关系,比如说确定它的传递函数。然后,根据系统的传递函数再确定系统的状态方程和输出方程。给定系统的传递函数G(s),可以找到各种各样结构的实现(A,B,C,D)。如果找到的实现对矩阵(A,B)是完
9、全可控的,就称为可控性实现;如果对矩阵(A,C)是完全可观的,就称为可观性实现;如果矩阵A是约当规范型,就称为约当型实现。在各种各样的实现中,最感兴趣的是矩阵A的阶次最低的实现,称之为最小实现。显而易见,最小实现的结构最简单,按最小实现模拟原系统是最方便、最经济的。(A,B,C,D)是传递函数G(s)的最小实现的充分必要条件是,(A,B,C,D)是完全可控 又可观的。精选版课件ppt11MATLAB提供了一条函数tf2ss(),可以根据系统的传递函数描述求解其状态方程 描述。其基本调用格式为:A B C D=tf2ss(num,den)其中num是传递函数分子多项式系数的降幂排列,den是传递
10、函数分母多项式系数的降幂排列;(A,B,C,D)就是实现该传递函数的系统状态方程描述,这个实现是系统的可控性实现。仍使用前面提及的例子:num=1 1;den=1 5 20;Sys=tf(num,den)%创建传递函数模型A B C D=tf2ss(num,den)A=-5 -20 1 0B=1 0C=1 1D=0类似的函数是:A,B,C,D=zp2ss(z,p,k)精选版课件ppt12MATLAB还提供了一条函数minreal(),可以求解系统状态方程的最小实现。不过这条函数不是根据传递函数来求解其最小实现,而是根据系统的状态方程描述来求解其最小实现。其调用格式为:Sysr=minreal(
11、Sys)其中Sys是原系统的状态方程描述(A,B,C,D),Sysr是系统的最小实现(As,Bs,Cs,Ds)。请看下面这个简单的例子,仍使用上面的例子,接着键入:sys=ss(A,B,C,D)sysr=minreal(sys)可见(结果见下页),对于本例,sys与sysr相同,这说明sys已经是最小实现了。精选版课件ppt13 x1 x2 x1 -5 -20 x2 1 0B=u1 x1 1 x2 0C=x1 x2 y1 1 1D=u1 y1 0sysrA=x1 x2 x1 -5 -20 x2 1 0B=u1 x1 1 x2 0C=x1 x2 y1 1 1D=u1 y1 0精选版课件ppt14
12、3.3.2 状态方程向传递函数的转换状态方程向传递函数的转换给定线性定常系统(A,B,C,D),其状态方程和输出方程为:方程两边同时取拉普拉斯变换并消去中间变量,得DuCxYBuAxx则系统的传递函数为:)()()()(1sDUsBUAsICsYDBAsICsUsYsG1)()()()(可见,将系统的状态方程描述转换为传递函数描述的关键就在于预解矩阵的求解。精选版课件ppt15 MATLAB提供了一条函数ss2tf()可以直接将系统的状态方程描述转换为传递函数描述,其基本调用格式为:num,den=ss2tf(A,B,C,D,iu)其中(A,B,C,D)是系统的状态方程描述的系数矩阵,iu表示
13、对系统的第iu个输入量求传递函数;num是返回的系统传递函数的分子多项式系数的降幂排列,如果是MIMO系统num就是矩阵,其行数与输出量y的个数一样多;den是返回的系统传递函数的分母多项式系数的降幂排列,无论是SISO系统还是MIMO系统,den都是行向量。MATLAB还提供了一个类似的函数ss2zp()。该函数的功能是直接根据系统的状态方程描述求取系统的零点、极点和增益,不必先化成传递函数描述形式。其基本调用格式与tf2zp()函数类似,只是多了一个输入量选择的参数:Z,P,Kss2zp(A,B,C,D,iu)精选版课件ppt16下面通过例子来说明其应用。例 ex3_1 给定某控制系统的状
14、态方程描述如下。试分别求其对第一和第二个输入的传递函数和零极点形式的传递函数。21311000006062304112220011000uuxx xy01001000其中(A,B,C,D)是系统的状态方程描述的系数矩阵,iu表示对系统的第iu个输入量求零点、极点和增益;Z是求得的零点矩阵;P是求得的极点矩阵,Z的列数与输出量y的个数一样多,行数视零点个数的多少而定;K是求得的增益列向量,其维数等于输出量y的个数。精选版课件ppt17%系统的状态方程描述A=0 0 0 1;1 0 0-2;-22-11-4 0;-23-6 0-6;B=0 0;0 0;0 1;1 3;C=0 0 0 1;0 0 1
15、 0;D=0 0;0 0;%第一个输入量的传递函数num1,den1=ss2tf(A,B,C,D,1);z1,p1,k1=ss2zp(A,B,C,D,1);%第二个输入量的传递函数num2,den2=ss2tf(A,B,C,D,2);z2,p2,k2=ss2zp(A,B,C,D,2);%显示结果disp(System Transfer Function Of the first input is:);num1den1disp(Its zero-pole form is);精选版课件ppt18z1p1k1disp(System Transfer Function Of the second in
16、put is:);num2den2disp(Its zero-pole form is);z2p2k2结果如下:System Transfer Function Of the first input is:num1=0 1.0000 4.0000 0.0000 0.0000 0 0.0000 0.0000 0.0000 -11.0000den1=1.0000 10.0000 35.0000 50.0000 24.0000精选版课件ppt19Its zero-pole form isz1=0 Inf 0 Inf -4 Infp1=-4.0000 -1.0000 -2.0000 -3.0000k1
17、=1.0000 -11.0000System Transfer Function Of the second input is:num2=0 3.0000 12.0000 -0.0000 -0.0000 0 1.0000 6.0000 11.0000 -27.0000精选版课件ppt20den2=1.0000 10.0000 35.0000 50.0000 24.0000Its zero-pole form isz2=-4.0000 1.3114 0.0000+0.0000i -3.6557+2.6878i 0.0000-0.0000i -3.6557-2.6878ip2=-4.0000 -1
18、.0000 -2.0000 -3.0000k2=3 1精选版课件ppt21 num,den=ss2tf(a,b,c,d,iu)状态空间到传函 z,p,k=ss2zp(a,b,c,d,iu)状态空间到零极点 a,b,c,d=tf2ss(num,den)传函到状态空间 z,p,k=tf2zp(num,den)传函到零极 a,b,c,d=zp2ss(z,p,k)零极到状态空间 num,den=zp2tf(z,p,k)零极到传函 sysd=c2d(sysc,Ts,method)连续到离散 sysc=d2c(sysd,method)离散到连续3.3.3 模型转换函数的汇总模型转换函数的汇总精选版课件pp
19、t223.4.1时域响应分析 所谓控制系统的时域响应分析就是在时间域内求解系统的微分方程,然后根据绘制出来的曲线分析系统的性能和各主要参数对系统性能的影响。不过这里的响应曲线一般是指典型的响应曲线,即所谓阶跃响应和脉冲响应。其激励函数分别为单位阶跃函数和单位脉冲函数。单位阶跃函数的数学表达式为:1)(1)()0()0(0)(1)(1)0(1)0(0)(1tLdtttttstLttt MATLAB控制系统工具箱提供了两个求解系统单位阶跃响应的函数step(),其基本调用格式是:精选版课件ppt23step(sys1,sys2,,sysn,t)和y,x,t=step(sys1,sys2,,sysn
20、)其中第一种格式是不关心系统阶跃响应的具体数值,仅仅在一张图上绘制从系统SYSl到系统SYSn的阶跃响应曲线,t是t0:tspan:tfinal格式的时间向量。第二种格式返回系统的阶跃响应数据,但并不在屏幕上绘制系统的阶跃响应曲线。其中t是返回的仿真时间向量,x 对应各状态变量的阶跃响应数据。在这两种格式中,SYS可以是系统的传递函数描述num,den,num和den分别代表传递函数的分子和分母多项式系数的降幂排列;也可以是系统的状态方程描述(A,B,C,D);还可以是系统的抽象描述。对于系统的单位脉冲响应,MATLAB也提供了一条函数impulse()实现此功能。其基本调用格式也是精选版课件
21、ppt24具体参数和返回值的含义与step()函数相同。impulse(sys1,sys2,,sysn,t)和y,x,t=impulse(sys1,sys2,,sysn)例 ex3_2 系统的开环传递函数如下。试求其闭环传递函数,并绘制输出量阶跃响应曲线和脉冲响应曲线。选择函数的状态变量将其化为状态方程模型,并绘制状态变量的阶跃响应曲线和脉冲响应曲线。38440014020200)(234sssssG求解程序如下(ex3_2.m):%关闭所有图形窗口并清除内存变量关闭所有图形窗口并清除内存变量close all;clear;精选版课件ppt25%系统开环传递函数初始化系统开环传递函数初始化nu
22、mo=0 0 0 0 200;deno=1 20 140 400 384;%求解系统的闭环传递函数求解系统的闭环传递函数numc=numo;n=length(deno);denc=zeros(1,n);denc=numo+deno;%结果显示结果显示disp(System Closed Loop Transfer Function is:)numc denc%系统仿真数据初始化系统仿真数据初始化 t=0:0.05:5;%系统输出量的阶跃响应系统输出量的阶跃响应 y=step(numc,denc,t);精选版课件ppt26%系统输出量的脉冲响应系统输出量的脉冲响应 yy=impulse(numc
23、,denc,t);%输出量阶跃响应曲线绘制输出量阶跃响应曲线绘制figure(1);plot(t,y);title(System Step Response);xlabel(TimeSec);ylabel(Responsevalue);grid;%输出量脉冲响应曲线绘制输出量脉冲响应曲线绘制figure(2);plot(t,yy);title(System impulse Response);xlabel(Timesec);ylabel(Responsevalue);grid;精选版课件ppt27%求解系统的状态方程模型求解系统的状态方程模型A,B,C,D=tf2ss(numc,denc);%
24、状态方程模型结果显示状态方程模型结果显示disp(System StateSpace Model is:);A B C D%系统状态变量的阶跃响应系统状态变量的阶跃响应ys,x,t=step(A,B,C,D);%系统状态变量的脉冲响应系统状态变量的脉冲响应yys,xx,t=impulse(A,B,C,D);%状态变量阶跃响应曲线绘制状态变量阶跃响应曲线绘制figure(3);plot(t,x(:,1),t,x(:,2),+,t,x(:,3),.-,t,x(:,4),.)title(System StateVariables Step Response);xlabel(Timesec);精选版课
25、件ppt28ylabel(Responsevalue);grid;%状态变量脉冲响应曲线绘制状态变量脉冲响应曲线绘制figure(4);plot(t,xx(:,1),t,xx(:,2),+,t,xx(:,3),.-,t,xx(:,4),.)title(System StateVariables impulse Response);xlabel(Timesec);ylabel(Responsevalue);grid;运行该程序,产生如下结果:System Closed Loop Transfer Function is:numc=0 0 0 0 200denc=1 20 140 400 584精
展开阅读全文