MATLAB语言与应用课件

上传人:石磨 文档编号:183740619 上传时间:2021-06-12 格式:PPT 页数:31 大小:170.50KB
返回 下载 相关 举报
MATLAB语言与应用课件_第1页
第1页 / 共31页
MATLAB语言与应用课件_第2页
第2页 / 共31页
MATLAB语言与应用课件_第3页
第3页 / 共31页
MATLAB语言与应用课件_第4页
第4页 / 共31页
MATLAB语言与应用课件_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《MATLAB语言与应用课件》由会员分享,可在线阅读,更多相关《MATLAB语言与应用课件(31页珍藏版)》请在金锄头文库上搜索。

1、第二部 分MATLAB应用篇,1拉氏变换和控制系统描述 2控制系统的时域分析 3根轨迹分析 4. 频率响应分析 5. 其它,MATLAB语言与应用,一、拉氏变换和控制系统描述,时域函数的拉氏变换定义是: 拉氏反变换定义为: MATLAB 中,可以采用符运算工具箱进行拉氏变换和拉氏反变换(laplace ilaplace),MATLAB语言与应用,MATLAB的LTI工具箱中,4类数学模型,传递函数模型(TF, transfer function model) 零极点增益模型和部分分式模型(极点留数型)(ZPK, zero-pole-gain model) 状态空间模型(SS, Status s

2、pace model) 频率响应模型(FRD, Frequency Response Data model) 模型之间都有着内在的联系,可以相互进行转换.,MATLAB语言与应用,1.系统的分类,线性连续系统 线性定常离散系统 非线性系统 通过拉氏变换和反变换,可以得到线性定常系统的解析解,这种方法通常只适用于常系数的线性微分方程,解析解是精确的,然而通常寻找解析解是困难的。 MATLAB提供了ode23、ode45等微分方程的数值解法函数,不仅适用于线性定常系统,也适用于非线性及时变系统。,MATLAB语言与应用,2.传递函数的描述(1-3),连续系统的传递函数模型 num=b0,b1,bm

3、 den=a0,a1,an, 注意:它们都是按s的降幂进行排列的。 零极点增益模型 k:传递函数的传递系数 zi:传递函数的零点 pj:传递函数的极点,MATLAB语言与应用,2.传递函数的描述(2-3),极点留数型/部分分式展开 函数r,p,k=residue(b,a)对两个多项式的比进行部分展开,以及把传函分解为微分单元的形式。 向量b和a是按s的降幂排列的多项式系数。部分分式展开后,余数返回到向量r,极点返回到列向量p,常数项返回到k。 状态空间描述 A为系统矩阵(A是一个nn的方阵,n指系统的状态); B为输入矩阵(B是一个nm矩阵,m指明输入次数/是单输入还是多输入); C为输出矩阵

4、(C是一个kn矩阵,k为y(输出k1)的行数); D为前馈矩阵(D是一个km的矩阵);,MATLAB语言与应用,2.传递函数的描述(3-3),频率响应数据模型 式中,系统的频率响应数据是复数,可用response=g1,g2,gk输入;对应的频率w用freq=w1, w2, ,wk输入,两者应有相同的列数。得到的频率响应数据模型用G=frd(response, freq)表示。,MATLAB语言与应用,3模型的转换与连接(1-5),模型的转换 ss2tf: 状态空间模型转换为传递函数模型 ss2zp: 状态空间模型转换为零极点增益模型 tf2ss: 传递函数模型转换为状态空间模型 tf2zp:

5、 传递函数模型转换为零极点增益模型 zp2ss: 零极点增益模型转换为状态空间模型 zp2tf: 零极点增益模型转换为传递函数模型,2-2,MATLAB语言与应用,3模型的转换与连接(2-5),例:已知系统状态空间模型为: A=0 1;-1 -2; B=0;1; C=1 3; D=1; num,den=ss2tf(A,B,C,D) z,p,k=ss2zp(A,B,C,D),MATLAB语言与应用,3模型的转换与连接(3-5),控制工具箱中的LTI对象 A)LTI对象的类型和属性 B)LTI模型的建立 C)对象属性的获取和修改 D)模型类型的参数转换和提取 串联与并联 例:求状态方程 与模型 串

6、联。 例:求闭环系统的传递函数:,MATLAB语言与应用,3模型的转换与连接(4-5),控制系统工具箱LTI对象运算优先等级为“状态空间零极增益传递函数”,合成系统的系统函数的对象特性应按照环节的最高等级来确定。 例:已知系统1和系统2的状态方程分别为 求按串联、并联、正反馈、负反馈连接时的系统状态方程及系统1按单位负反馈连接时的状态方程。,MATLAB语言与应用,3模型的转换与连接(5-5),例:求当K1=250/K1=1000时如图所示的系统的传递函数(表示成零极增益型式),MATLAB语言与应用,二、控制系统的时域分析,时域分析的一般方法 求取系统单位阶跃响应:step() 求取系统的冲

7、激响应:impulse() Step用法 y=step(num,den,t):其中num和den分别为系统传递函数描述中的分子和分母多项式系数,t为选定的仿真时间向量,一般可以由t=0:step:end等步长地产生出来。该函数返回值y为系统在仿真时刻各个输出所组成的矩阵。 y,x,t=step(num,den):此时时间向量t由系统模型的特性自动生成, 状态变量x返回为空矩阵。 y,x,t=step(A,B,C,D,iu):其中A,B,C,D为系统的状态空间描述矩阵,iu用来指明输入变量的序号。x为系统返回的状态轨迹. 如果对具体的响应值不感兴趣,而只想绘制系统的阶跃响应曲线,可调用以下的格式

8、,自动输出响应曲线:step(num,den);step(num,den,t);step(A,B,C,D,iu,t);step(A,B,C,D,iu); 线性系统的稳态值可以通过函数dcgain()来求取,其调用格式为:dc=dcgain(num,den)或dc=dcgain(a,b,c,d),MATLAB语言与应用,时域分析的一般方法(2-4),例:已知系统的开环传递函数为,求系统在单位负反馈下的阶跃响应曲线。 impulse()函数的用法 求取脉冲激励响应的调用方法与step()函数基本一致。 y=impulse(num,den,t);y,x,t=impulse(num,den);y,x,

9、t=impulse(A,B,C,D,iu,t) impulse(num,den);impulse(num,den,t) impulse(A,B,C,D,iu);impulse(A,B,C,D,iu,t),MATLAB语言与应用,时域分析的一般方法(3-4),例:已知系统的开环传递函数为,求系统在单位负反馈下的冲激响应曲线。 例:某系统框图如下所示,求d和e的值,使系统的阶跃响应满足:(1)超调量不大于40%,(2)峰值时间为0.8秒。,MATLAB语言与应用,时域分析的一般方法(4-4),例.二阶系统的闭环传递函数标准形式如下,求其单位阶跃响应,并仿真。 欠阻尼情况 临界阻尼情况 过阻尼情况

10、无阻尼情况,MATLAB语言与应用,2稳定性分析,线性自动控控制系统稳定的充分必要条件是:系统闭环极点(特征根)全部都具有负实部,亦即:全部都位于复平面的左半面。 例:求该闭环系统的稳定性。,MATLAB语言与应用,三 根轨迹分析(1-4),所谓根轨迹是指,当开环系统某一参数从零变到无穷大时,闭环系统特征方程的根在s平面上的轨迹。一般来说,这一参数选作开环系统的增益K,而在无零极点对消时,闭环系统特征方程的根就是闭环传递函数的极点。 根轨迹分析方法是分析和设计线性定常控制系统的图解方法,使用十分简便。利用它可以对系统进行各种性能分析. 根轨迹分析函数 通常来说,绘制系统的根轨迹是很繁琐的事情,

11、因此在教科书中介绍的是一种按照一定规则进行绘制的概略根轨迹。在MATLAB中,专门提供了绘制根轨迹的有关函数。,MATLAB语言与应用,根轨迹分析(2-4),zmap:绘制线性系统的零极点图 rlocus:求系统根轨迹。 rlocfind:计算给定一组根的根轨迹增益。 函数pzmap()来绘制系统的零极点图: p,z=pzmap(a,b,c,d):返回状态空间描述系统的极点矢量和零点矢量,而不在屏幕上绘制出零极点图。 p,z=pzmap(num,den):返回传递函数描述系统的极点矢量和零点矢量,而不在屏幕上绘制出零极点图。 pzmap(a,b,c,d)或pzmap(num,den):不带输出

12、参数项,则直接在s复平面上绘制出系统对应的零极点位置,极点用表示,零点用o表示。 pzmap(p,z):根据系统已知的零极点列向量或行向量直接在s复平面上绘制出对应的零极点位置,极点用表示,零点用o表示。,MATLAB语言与应用,根轨迹分析(3-4),函数rlocus()来绘制系统的根轨迹图: rlocus(a,b,c,d)或者rlocus(num,den):根据SISO开环系统的状态空间描述模型和传递函数模型,直接在屏幕上绘制出系统的根轨迹图。开环增益的值从零到无穷大变化。 rlocus(a,b,c,d,k)或rlocus(num,den,k): 通过指定开环增益k的变化范围来绘制系统的根轨

13、迹图。 r=rlocus(num,den,k) 或者r,k=rlocus(num,den) :不在屏幕上直接绘出系统的根轨迹图,而根据开环增益变化矢量k ,返回闭环系统特征方程1k*num(s)/den(s)=0的根r,它有length(k)行,length(den)-1列,每行对应某个k值时的所有闭环极点。或者同时返回k与r。 对于参数根轨迹,可以通过传递函数的等效变换而进行绘制。若给出传递函数描述系统的分子项num为负,则利用rlocus函数绘制的是系统的零度根轨迹(正反馈系统或非最小相位系统) 。,MATLAB语言与应用,根轨迹分析(2-4),rlocfind()函数: MATLAB提供

14、了函数rlocfind()来找出给定的一组根(闭环极点)对应的根轨迹增益. k,p=rlocfind(a,b,c,d)或者k,p=rlocfind(num,den) 它要求在屏幕上先已经绘制好有关的根轨迹图。然后,此命令将产生一个光标以用来选择希望的闭环极点。命令执行结果:k为对应选择点处根轨迹开环增益;p为对应K的系统闭环特征根。 不带输出参数项k,p时,同样可以执行,只是此时只将k的值返回到缺省变量ans中。 例:已知某开环系统传递函数如下所示:要求绘制系统的闭环根轨迹,分析其稳定性,并绘制出当k=55和k=56时系统的闭环冲激响应。,MATLAB语言与应用,四 频率响应分析,频域分析的一

15、般方法 频率响应是指系统对正弦输入信号的稳态响应,从频率响应中可以得出带宽、增益、转折频率、闭环稳定性等系统特征。 频率特性是指系统在正弦信号作用下,稳态输出与输入之比对频率的关系特性。频率特性函数与传递函数有直接的关系,记为: 通常将频率特性用曲线的形式进行表示,包括对数频率特性曲线和幅相频率特性曲线(简称幅相曲线),MATLAB提供了绘制这两种曲线的函数。 求取系统对数频率特性图(波特图):bode() 求取系统奈奎斯特图(幅相曲线图或极坐标图):nyquist(),MATLAB语言与应用,1. 对数频率特性图(波特图),对数频率特性图包括了对数幅频特性图和对数相频特性图。横坐标为角频率w

16、,采用对数分度,单位为rad/sec;纵坐标均匀分度,分别为幅值函数20lgA(w),以dB表示;相角,以度表示。 MATLAB提供了函数bode()来绘、对数频率特性图(波特图)制系统的波特图,其用法如下: bode(a,b,c,d):自动绘制出系统的一组Bode图,它们是针对连续状态空间系统a,b,c,d的每个输入的Bode图。其中频率范围由函数自动选取,而且在响应快速变化的位置会自动采用更多取样点。 bode(a,b,c,d,iu):可得到从系统第iu个输入到所有输出的波特图。 bode(num,den):可绘制出以连续时间多项式传递函数表示的系统的波特图。 bode(a,b,c,d,iu,w)或bode(num,den,w):可利用指定的角频率矢量绘制出系统的波特图。由于横坐标按对数分度,因此w必须由logsapce生成。 当带输出变量mag,pha,w或mag,pha引用函数时,可得到系统波特图相应的幅值mag、相角pha及角频率点w矢量或只是返回幅值与相角。相角以度为单位,幅值可转换为分贝单位:magdb=20log10(mag),MATLAB语言与应用,2.奈奎斯特图(幅

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学研究

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号