大学Matlab课程第3讲控制系统的数学描述与建模.ppt_第1页
大学Matlab课程第3讲控制系统的数学描述与建模.ppt_第2页
大学Matlab课程第3讲控制系统的数学描述与建模.ppt_第3页
大学Matlab课程第3讲控制系统的数学描述与建模.ppt_第4页
大学Matlab课程第3讲控制系统的数学描述与建模.ppt_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

第二章 控制系统的数学描述与建模 引言 n控制系统研究中的三大问题 建模 分析 设计 CH2、控制系统的数学描述与建模 研究控制系统的数学模型的重要性: q要对系统进行仿真处理,首先应当知道系统的数学模型,然后才 可以对系统进行模拟。 q知道了系统的模型,才可以在此基础上设计一个合适的控制器, 使得系统响应达到预期的效果,从而符合工程实际的需要。 在线性系统理论中,一般常用的数学模型形式有:传递函数模传递函数模 型型(系统的外部模型)、状态方程模型状态方程模型(系统的内部模型)、 零极点增益模型、部分分式模型零极点增益模型、部分分式模型等。这些模型之间都有着内在 的联系,可以相互进行转换。 2.1 常见模型建立 n微分方程是控制系统模型的基础; 一般来讲,利用机械学、电学、力学等物理规律,便可以得到控制 系统的动态方程,这些方程就是系统的微分方程。 n控制的分析问题分析问题就是在给定控制输入时,求解微分方程的解并 分析其动态特性; 通过拉氏变换和反变换,可以得到线性定常系统的解析解,解析解 是精确的,然而通常寻找解析解是困难的。 MATLAB提供了ode45等微分方程的数值解法函数。 n控制系统的综合问题综合问题就是为使微分方程的解达到期望的轨迹, 设计微分方程的控制输入。 2.1.1 微分方程模型 例exp3_1.m 电路图如下,R=1.4欧,L=2亨,C=0.32法,初始 状态:电感电流为零,电容电压为0.5V,t=0时 刻接入1V的电压,求0t15s时,i(t),vo(t)的 值,并且画出电流与电容电压的关系曲线。 n传递函数是经典控制论描述系统的数学模型之一,它表达了输 入量和输出量之间的关系。 n在Matlab中,可以利用分别定义的传递函数分子、分母多项式 对其加以描述。 num = c1, c2, , cn-1, cn den = 1, a1, a2,an-1, an 注 意:它们都是按s的降幂进行排列的。 一、连续系统的传递函数模型 2.1.2 传递函数模型 一、连续系统的传递函数模型举例: 2.1.2 传递函数模型 已知系统传递函数为: 试在Matlab中将上述传递函数模型表示出来。 num=2, 9; den=1 3 2 4 6; sys1=tf(num,den) 一、连续系统的传递函数模型举例: 2.1.2 传递函数模型 已知系统传递函数为: 试在Matlab中将上述传递函数模型表示出来。 num=7*2 3; den=conv(conv(conv(1 0 0, 3 1), conv(1 2,1 2), 5 0 3 8); sys1=tf(num,den) n在Matlab中,对于离散系统,同样可以建立相应的系 统模型。 num = cm, cm-1, ,c1, c0 den = an, an-1, , a1, a0 sys = tf(num, den, T) 其 中,T为系统采样周期。 离散系统的脉冲传递函数模型 2.1.2 传递函数模型 n零极点模型实际上是传递函数模型的另一种表现 形式,其原理是分别对原系统传递函数的分子、分 母进行分解因式处理,以获得系统的零点和极点的 表示形式。 二、零极点增益模型 式中:K为系统增益,zi为零点,pj为极点 v 在MATLAB中,零极点增益模型用z,p,K矢量组表示 。即: z=z1,z2,zm p=p1,p2,.,pn K=k sys = zpk(z,p,K) 零极点增益模型的Matlab表示 举例: num=1,11,30,0; den=1,9,45,87,50; z,p,k=tf2zp(num,den) 结果表达式: n控制系统常用到并联系统,这时就要对系统函数进行 分解,使其表现为一些基本控制单元的和的形式,也 就是部分分式表示,如下式所示: 三、部分分式模型 RMATLAB提供了函数r,p,k=residue(b,a),它的 功能是对两个多项式的比进行部分展开,以及把 传递函数分解为微分单元的形式。 R其中向量b和a是按s的降幂排列的多项式系数 。部分分式展开后,余数返回到向量r,极点返回 到列向量p,常数项返回到k. 部分分式模型的MATLAB表示: 举例: num=1,11,30,0; den=1,9,45,87,50; r,p,k=residue(num,den) 结果表达式为: q经典控制理论用传递函数描述输入输出关系 q现代控制理论则用状态空间描述法(状态方程和输 出方程)来表达输入输出关系,它揭示了系统内部 状态对系统性能的影响。 2.1.3 状态空间描述 n 在MATLAB中,系统状态空间用(A,B,C,D)矩阵组表示。 表达式如下: sys = ss(A,B,C,D) n 对于离散系统,同样可建立系统的状态空间模型: dsys = ss(A,B,C,D,T), T为采样周期 2.1.3 状态空间描述 举例: 系统为两输入、两输出系统 A=1 6 9 10; 3 12 6 8; 4 7 9 11; 5 12 13 14; B=4 6; 2 4; 2 2; 1 0; C=0 0 2 1; 8 0 2 2; D=zeros(2,2); sys = ss(A,B,C,D) 2.2 模型的相互转换 n描述系统的主要模型有: 传递函数模型 零极点模型 状态空间模型等 n在进行系统分析时,往往需要根据不同的要 求选择不同形式的数学模型。 2.2 系统模型的相互转换 形式不同, 实质内容等价 ss2tf: 状态空间模型转换为传递函数模型 ss2zp: 状态空间模型转换为零极点增益模型 tf2ss: 传递函数模型转换为状态空间模型 tf2zp: 传递函数模型转换为零极点增益模型 zp2ss: 零极点增益模型转换为状态空间模型 zp2tf: 零极点增益模型转换为传递函数模型 模型转换函数模型转换函数 ss2tf State-space to transfer function conversion.State-space to transfer function conversion. NUM,DEN = SS2TF(A,B,C,D,iu) calculates the transfer function: of the system: from the iuth input. iu用来指定第n个输入,当只有一个输入时可忽略。 用法举例: n例: 已知连续系统的系数矩阵如下: 求取该系统相应的传递函数模型 A=2 0 0;0 4 1;0 0 4; B=1;0;1; C=1 1 0; D=0; num,den=ss2tf(A,B,C,D) G = tf(num,den) A=2 0 0;0 4 1;0 0 4; B=1;0;1; C=1 1 0; D=0; sys = ss(A,B,C,D) G2 = tf(sys) 例 exp3_5.m 已知连续系统的系数矩阵为: 求系统相应的传递函数。 ss2zp, tf2zp nz,p,k = ss2zp(A,B,C,D,iu) nz,p,k = tf2zp(num,den) nGzp = zpk(sys) 将非零极点形式的模型转换 成零极点模型 用法举例: 已知系统状态空间模型为: 求其零极点模型 A=0 1; -1 -2; B=0;1; C=1,3; D=1; iu=1; z,p,k=ss2zp(A,B,C,D,iu) sys = zpk(z, p, k) tf2ss, zp2ss nA,B,C,D = tf2ss(num,den) nA,B,C,D = zp2ss(z,p,k) nSyss = ss(sys) 将非状态空间形式的模型转 换成状态空间模型 例:系统的零极点增益模型如下: 求系统的传递函数模型和状态空间模型 z=-3;p=-1,-2,-5;k=6; num,den=zp2tf(z,p,k) a,b,c,d=zp2ss(z,p,k) 注意:零极点的输入可以写成行向量,也可以写成列向量。 已知一个单输入三输出系统的传递函数模型为: num=0 0 -2;0 -1 -5;1 2 0; den=1 6 11 6; A,B,C,D=tf2ss(num,den); sys = ss(A,B,C,D) 例: 连续和离散系统之间的转换 nsysd = tf(num,den,T) nsysd = ss(a,b,c,d,T) nsysd = zpk(z,p,k,T) nsysd = c2d(sysc, T, method) T: 采样周期 method:表示指定转换方式 zoh:零阶保持器 foh:三角形近似 tustin:双线性变换 连续和离散系统之间的转换 n例 exp3_6.m 已知系统传递函数为 采样周期T=0.2秒,试将其进行离散化处理 2.3 状态方程的变换 2.3 状态方程的变换及实现 传递函数状态空间模型 唯一 不唯一? 2.3.1 状态方程的相似变换 n n S2 = ss2ss(S1,T)S2 = ss2ss(S1,T) S2:变换后的系统状态方程模型 S1:原系统的状态方程模型 T: 非奇异变换阵 2.3.2 规范型状态方程的实现 基本格式:G1 = canon(sys, type) G1, T = canon(sys, type) sys表示原系统状态方程模型 type确定规范形式的类型 nmodal:约当标准型 ncompanion:伴随矩阵形式 G1:规范后的状态方程模型 T:状态变换阵 必须为状态空间 模型 例: n已知系统的系数阵为: 对其进行规范型变换(约当变换),并给出变换阵. A=5 2 1 0;0 4 6 0; 0 -3 -5 0; 0 -3 -6 -1; B=1;2;3;4; C=1 2 5 2; D=0; sys=ss(A,B,C,D); G,T=canon(sys,modal) 2.3.3 系统的均衡实现 基本格式:Ab,Bb,Cb,G,T=balreal(A,B,C) T:均衡变换阵 G:均衡系统的Gram阵 满足下列变换关系 n功能:实现系统的均衡变换,克服计算误差 例: n已知系统的系数阵为: 对其进行均衡变换,并给出变换阵. A=-10 0;0 -25; B=10(-5); 105; C=105, 10(-5); D=0; Ab,Bb,Cb,G,T=balreal(A, B, C) 2.3.4 系统的降阶实现 基本格式:RSYS=modred(sys, ELIM) RSYS=modred(sys, ELIM, mdc) RSYS=modred(sys, ELIM, del) ELIM:待消去的状态 mdc:表示在降阶中保证增益的匹配 del:表示降阶中不能保证增益的匹配 例: n已知系统的系数矩阵为: 在尽可能保持系统基本特征的情况下进行降阶处理。 A=-3 1 0 -1;-0.5 -1 1 -1;-1.5 1 -2 0;-1.5 2 1 -4; B=1;0;0;0; C=1 0 -1 0; Ab,Bb,Cb,G,T=balreal(A, B, C) sys=ss(Ab,Bb,Cb,0) sysr=modred(sys, 3:4, mdc) 例: 2.4 常用模型的建立 与模型连接 2.4.1 基本模型系统的建立 n二阶系统的生成: A, B, C, D = ord2(Wn, z) num, den = ord2(Wn, z) nWn:自然角频率, nz:阻尼因子 2.4.1 基本模型系统的建立 n随机n阶系统的建立: num,den=rmodel(n):随机生成n阶稳定传递函数模型 num,den=rmodel(n,p):随机生成单入p出的n阶稳定传递函数模型 A,B,C,D=rmodel(n):随机生成n阶稳定SISO状态方程模型 A,B,C,D=rmodel(n,p,m) :随机生成n阶稳定p出m入状态方程模型 drmodel():生成相应的离散模型 程序如下: wn=2.2; z=0.8; A,B,C,D=ord2(wn,z); sys1=ss(A,B,C,D) num,den=ord2(wn,z); sys2=tf(num,den) n=4; p=4; m=2; a,b,c,d=rmodel(n,p,m); sys3 = ss(a,b,c,d) num1,den1=drmodel(n,2); sys4=tf(num1(1,:);num1(2,:),den1) 例: 基本模型的生成 2.4.1 基本模型系统的建立 n系统模型的重构: 子系统的选取与删除 Ae,Be,Ce,De=ssselect(A,B,C,D,inputs,output s) Ae,Be,Ce,De=ssselect(A,B,C,D,inputs,output s,states) Ar,Br,Cr,Dr=ssdelete(A,B,C,D,inputs,outputs ) Ar,Br,Cr,Dr=ssdelete(A,B,C,D,inputs,outputs, states) n例: 现利用ssselect函数在原系统的基础上构造新系统,保留1、3 输入信号,1、2输出以及1、2、4状态变量。 n状态的增广 在对系统进行分析研究时,往往需要对状态在系统(输 出)中加以增广。如对系统进行全状态反馈研究时,考虑 到u=Kx,因此一般就需要在输出方程中增广状态。 MATLAB中提供了一种状态增广函数augstate, 即:asys=augstate(sys) 构成新系统为: n例: 将所有的状态增广到系统输出中。 2.4.2 系统组合与连接 n系统组合的方式: 串联: series 并联: parallel 反馈: feedback 格式: sys = series(sys1,sys2); sys=sys1*sys2 对于多输入多输出系统,串联表达式为: sys = series(sys1,sys2,outputs1,inputs2) 上述函数实现由outputs1指定的sys1输出端连 接到由inputs2指定的sys2输入端. 1、模型串联:series sys1sys2 U(s)Y(s) 串联串联 格式: sys = parallel(sys1,sys2) 对于多输入多输出系统,串联表达式为: sys = parallel(sys1,sys2,in1,

温馨提示

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

评论

0/150

提交评论