MATLAB应用介绍.ppt_第1页
MATLAB应用介绍.ppt_第2页
MATLAB应用介绍.ppt_第3页
MATLAB应用介绍.ppt_第4页
MATLAB应用介绍.ppt_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MATLAB应用介绍 一、控制系统模型的建立 (一)系统模型 系统的表示可用三种模型:传递函数、 零极点增益、状态空间。 1、传递函数模型 在MATLAB中,直接用分子、分母的系数矩阵 num,den表示,即 num=b1,b2,bm den =a1,a2, an 例:将传递函数 以分子、分母系数矩阵num、den的形式表示 出来。 num=0.2,0.3,1 den =1,0.9,1.2,0.5 2、零极点增益模型 在MATLAB中,用z,p,k矢量组表示,即 z=z1,z2,zm; p=p1,p2,pn; k=k; 例:将系统的零极点增益模型 以z,p,k向量组表示。 k=6 z=-3 p=-1,-2,-5 3、状态空间模型 在MATLAB中,系统可用(a,b,c,d)矩 阵组表示。 (二)模型建立及转换 1、tf() 功能:建立传递函数形式 格式:sys=tf(num,den) 说明:可将分子、分母系数为矩阵num、den表 示的传递函数模型,以直接的传递函数形式表 示出来。 例1:写出下面传递函数模型的标准形式。 解:在MATLAB中,可直接利用tf函数求出 num=0.2,0.3,1; p1=1,0.4,1; p2=1,0.5; den=conv(p1,p2); %p1(s)*p2(s) H=tf(num,den) 执行后 例:已知 将该传递函数输入MATLAB。 num = 6*1,5; den = conv(conv(conv(1,3,1,1,3,1),1,6),1,6,5,3); G=tf(num,den) Transfer function: 6 s + 30 - s8 + 18 s7 + 124 s6 + 417 s5 + 740 s4 + 729 s3 + 437 s2 + 141 s + 18 2、zpk() 功能:建立零极点增益形式 格式:sys= zpk (z, p, k) 说明:可将零极点增益向量组z、p、k表示的系统 模型,以直接的零极点增益形式表示出来。 例:设系统的传递函数模型为 求系统的零极点增益模型。 解 :MATLAB程序为: num= 6 18; den = 1 8 17 10; z,p,k=tf2zp(num,den); G=zpK(z,p,k) 执行后得 3、tf2zp() 功能:变系统传递函数形式为零极点增益形式。 格式:z,p,k=tf2zp(num,den) 说明:tf2zp函数将多项式传递函数形式的系统 转换为零点、极点和增益形式。 4、zp2tf() 功能:变系统零极点增益形式为传递函数形式。 格式:num,den=zp2tf(z,p,k) 说明:zp2tf可将以z,p,k表示的零极点增益形 式变换成传递函数形式。 例2:设系统的零极点增益模型为 求系统的传递函数。 解 :在MATLAB中,可直接利用zp2tf函数求出, MATLAB程序为: k=6;z=-3;p=-1,-2,-5; num,den=zp2tf(z,p,k) H=tf(num,den) 执行后得 num= 0 0 6 18 den = 1 8 17 10 (三)系统建模 1、parallel() 功能:系统的并联连接。 格式: num,den=parallel(num1,den1,num2, den2) 说明:parallel函数按并联方式连接两个系统。 2、series() 功能:系统的串联连接。 格式:num,den=series(num1,den1,num2, den2) 说明:series函数可将两个系统按串联方式进行连接。 例:已知G1(s)和G2(s),求两者串联后的传递 函数。 num1=1 1; den1=1 2; num2=1; den2=500 0 0; num,den=series(num1,den1,num2,den2); G=tf(num,den) 3、feedback() 功能:两个系统的反馈连接。 格式:num,den=feedback(num1,den1,num2,den2) num,den=feedback(num1,den1,num2,den2,si gn) 说明:feedback函数可将两个系统按反馈形式进行连接, sign缺省时,默认为负 4、cloop() 功能:系统的闭环形式。 格式:numc,denc=cloop(num,den,sign) 说明:cloop函数可通过将系统输出反馈到系统输入构成 单位闭环系统。 当sign=1时采用正反馈; 当sign=-1时采用负反馈; sign缺省时,默认为负反馈。 求该系统的传递函数。编写的M程序如下: num1=1; den1=1 1; num2=1; den2=0.1 0; num,den=series(num1,den1,num2,den 2); numb,denb=cloop(num,den); G=tf(numb,denb) 5、ord2() 功能:产生二阶系统。 格式:num,den=ord2(n,) 说明:num,den=ord2(n,)可得到二阶系统的传 递函数表示。 例3 :要产生=0.4,n=2.4弧度/秒的二阶系统的传递函 数,可输入 num,den=ord2(2.4,0.4) H=tf(num,den) 则得 num=1 den =1 1.9200 5.7600 因此有 二、控制系统的时域分析 1、step() 功能:求连续系统的单位阶跃响应。 格式:step(num,den) step(num,den,t) y,x,t =step(num,den) 说明(1)step函数可计算出线性系统的单位阶跃响应。 (2)当不带输出变量引用时,step函数可在当前图 形窗口中绘出系统的阶跃响应曲线。 (4)step(num,den,t)可利用用户指定的时间 矢量t来绘制阶跃响应。 (3)当带有输出变量引用函数时,可得到系统阶跃 响应的输出数据,而不直接绘制出曲线。 例4:求二阶系统 的 单位阶跃响应。 解:编写M程序如下 : num=1; den=1,1.92,5.7 6; G=tf(num,den) step(G) 例5:求P.16页一阶 惯性环节的单位阶 跃响应。 解:编写M程序如下: R1=100;R=100; C=0.1,0.33,1,10; figure(1) for j=C num=R/R1; %K=R/R1 den=R*j*10- 3,1; %T=R*C hold on step(num,den,1) end hold off 2、impulse() 求取脉冲响应的函数impulse()和step()函数的 调用格式完全一致。 三、根轨迹 1、pzmap() 功能:绘制系统的零极点。 格式:pzmap(num,den) pzmap(p,z) p,z=pzmap(num,den) 说明(1)当不带输出变量引用函数时, pzmap函 数可在当前图形窗口中绘出系统的零极点图。 (2)当带有输出变量引用函数时,可得到系 统的零极点位置。 2、rlocus() 功能:求系统的根轨迹。 格式:rlocus(num,den) rlocus(num,den,k) r,k= rlocus(num,den) 说明(1)当不带输出变量引用函数时, rlocus函数可在 当前图形窗口中绘出系统的根轨迹图。 (2) rlocus(num,den,k)可利用指定的k来绘 制系统的根轨迹。 (3)当带有输出变量引用函数时,可得到系统的复 根轨迹的位置矩阵r及相应的增益矢量k。利用plot(r, x)可绘制出根轨迹。 3、rlocfind() 功能:计算根轨迹上给定极点相对应的根轨迹增益 。 格式:k,p=rlocfind(num,den) k,p= rlocfind (num,den,p) 说明(1)函数运行时, 在根轨迹窗口中显示十字 光标,当用户选择根轨迹上某点单击鼠标时,获 得相应的增益k和闭环极点p。 (2) k,p= rlocfind (num,den,p) 可根据指定的p来得到系统的增益k。 4、sgrid() 功能:在系统根轨迹图和零极点图中绘制出阻尼系 数和自然频率网格。 格式:sgrid sgrid(z,wn) 说明(1)绘制的网格阻尼系数范围是01,步长 为0.1,自然频率的范围为010rad/s,步长为 1rad/s。 (2) 可指定阻尼系数z和自然频率wn来绘制 网格。 例l1:系统的传递函数为 求该系统的零极点图、根轨迹和某点对应的根轨迹增益, 并绘制阻尼系数和自然频率网格。 程序如下: num=2 5 1; den=1 2 3; figure(1) pzmap(num,den) rlocus(num,den) sgrid k,p=rlocfind(num,den) 例l2:开环系统的传递函数为: 绘制系统的根轨迹,并分析系统的稳定性。 num=1 3; den=conv(1 6 5,1 6 5); figure(1) rlocus(num,den) k,p=rlocfind(num,den) figure(2) k=160; num=k*1 3; den=conv(1 6 5,1 6 5); num,den=cloop(num,den,-1); step(num,den) figure(3) k=161; num=k*1 3; den=conv(1 6 5,1 6 5); num,den=cloop(num,den,-1); step(num,den) 例l3:开环系统的传递函数为: 绘制系统的根轨迹,并确定当 =0.7系统的时 系 统的闭环极点,并分析系统的稳定性。 num=4,3, 1; den=3,5,1,0; figure(1) rlocus(num,den) sgrid(0.7, ) k,p=rlocfind(num,den) k,p=rlocfind(num,den) 四、控制系统的频域分析 1、bode 功能:求连续系统的Bode(波特)频率响应。 格式:bode(num,den) mag,phase,w=bode(num,den) 说明:(1)bode函数可计算出系统的幅频和相频响应 曲线(即 Bode图)。Bode图可用于分析系统的增 益裕度、相位裕度、直接增益、带宽扰动抑制及其稳 定性等特性。 (2)当缺省输出变量时,bode函数可在当前图 形窗口中直接绘制出系统的Bode图。 (3)当带输出量引用函数时,可得到系统Bode 图相应的幅值,相位及频率点 。 例6 :有一二阶系统,其 自然频率n=1,阻尼因子 =0.2,要绘制出系统的幅 频和相频曲线。 解:编写M程序如下: num,den=ord2(1,0.2); bode(num,den) 2、margin 功能:确定系统的相角稳定裕度和 幅值稳定裕度。 格式: margin (num,den) Gm,Pm,Wcg ,Wcp= margin (num, den) 说明:(1)当缺省输出变量时, margin函数可在当前 图形窗口中直接绘制带有增益裕度和相位裕度的 Bode图。 (2)当带输出量引用函数时,可得到系统的增 益裕度、相位裕度及相应的频率点 。 3、nyquist 功能:求连续系统的nyquist频率曲线。 格式:nyquist(num,den) mag,phase,w=nyquist(num,den) mag,phase,w=nyquist(num,den,w) 说明:(1)当缺省输出变量时, nyquist数可在当前图 形窗口中直接绘制出系统的nyquist曲线。 (2)当带输出量引用函数时,可得到系统的 nyquist 曲线数据。 例lz:已知开环传递函数为 绘制系统的nyquist曲线、 bode图,并计算相角 裕度和 幅值裕度。 例7:用MATLAB完成实验五 的内容(p.25页)。 解:编写M程序如下: R1=0.1;R2=0.1;R3=0.1; C1=1;C2=0.1; num1=R2/R1; den1=R2*C1,1; num2=1; den2=R3*C2,0; num=conv(num1,num2); den=conv(den1,den2); numc,denc=cloop(num,de n); figure(1),bode(numc,denc) 实验一 典型线性环节的模拟 1. 已知传递函数如下: (1)以tf函数建立模型,并转换成zpk形式 (2) 绘制零极点分布图。 (3)求取阶跃响应和脉冲响应,并画图。 2. 典型环节特性分析,考察阶跃响应,重点分析参 数取值对响应特性的影响。 比例环节,G1(s)=2,G2(s)=8; 惯性环节, ,T1=4,T2=10; 积分环节, , T1=3,T2=12 微分环节(理想微分,实际微分) T1=3,T2=12 振荡环节 ,z=0.2,0.4,0.8,wn=3 3. 已知系统结构图如下: 其中: G2(s)的零点为z=-2,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论