已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一实验一 初步认识初步认识 MATLAB 和控制系统仿真和控制系统仿真 一、实验目的一、实验目的 1熟悉 MATLAB 桌面和命令窗口,掌握 MATLAB 仿真软件的使用方法。 2掌握控制系统数学模型的多种描述方法及其仿真实现和互相转换。 3熟悉控制系统仿真常用的 MATLAB 函数。 二、基础知识及二、基础知识及 MATLABMATLAB 函数函数 Matlab 是一个功能强大的数值计算、符号运算工具。我们可以很方便地处理线性 代数中的矩阵计算,方程组的求解,微积分运算,多项式运算,偏微分方程求解,统 计与优化等问题。 MATLAB 语言以向量和矩阵为基本的数据单元, 包括流程控制语句(顺序、选择、 循环、条件、转移和暂停等),大量的运算符,丰富的函数,多种数据结构,输入输出 以及面向对象编程。这些既可以满足简单问题的计算,也适合于开发复杂的大型程序。 MATLAB 不仅仅是一套打好包的函数库,同时也是一种高级的、面向对象的编程语言。 使用 MATLAB 能够卓有成效地开发自己的程序,MATLAB 自身的许多函数,实际上 也包括所有的工具箱函数,都是用 M 文件实现的。 1、启动、启动 MATLAB 命令窗口命令窗口 计算机安装好 MATLAB 之后,双击 MATLAB 图标,就可以进入命令窗口 (Command Window),此时意味着系统处于准备接受命令的状态,可以在命令窗口中直 接输入命令语句。 MATLAB 语句形式 变量表达式;变量表达式; 通过等于符号将表达式的值赋予变量。当键入回车键时,该语句被执行。语句执 行之后,窗口自动显示出语句执行的结果。如果希望结果不被显示,则只要在语句之 后加上一个分号(;)即可。此时尽管结果没有显示,但它依然被赋值并在 MATLAB 工作空间中分配了内存。 2、常用函数、常用函数 1)常用的数学运算符 ,*(乘) ,/(左除) ,(右除) ,(幂) 2)常用数学函数 abs,sin,cos,tan,asin,acos,atan,sqrt,exp,imag,real,sign,log,log10,conj(共扼复数)等 3)多项式处理函数 在 MATLAB 中,多项式使用降幂系数的行向量表示,如:多项式 表示为:p=1 -12 0 25 116,使用函数 roots 可以求出多项式等于 0 的根,根用列 向量表示。若已知多项式等于 0 的根,函数 poly 可以求出相应多项式。 r=roots(p) r = 11.7473 2.7028 -1.2251 + 1.4672i -1.2251 - 1.4672i p=poly(r) p = -12 -0 25 116 多项式的运算 相乘 conv a=1 2 3 ; b=1 2 c=conv(a,b)=1 4 7 6 conv 指令可以嵌套使用,如 conv(conv(a,b),c) 相除 deconv q,r=deconv(c,b) q=1 2 3 商多项式 r=0 0 0 余多项式 求多项式的微分多项式 polyder polyder(a)=2 2 求多项式函数值 polyval(p,n):将值 n 代入多项式求解。 polyval(a,2)=11 多项式的拟合 多项式拟合又称为曲线拟合,其目的就是在众多的样本点中进行拟合,找出满 足样本点分布的多项式。这在分析实验数据,将实验数据做解析描述时非常有 用。 命令格式:p=polyfit(x,y,n),其中 x 和 y 为样本点向量,n 为所求多项式的阶数, p 为求出的多项式。 11625012 234 xxxx 多项式插值 多项式插值是指根据给定的有限个样本点,产生另外的估计点以达到数据更为 平滑的效果。所用指令有一维的 interp1、二维的 interp2、三维的 interp3。这些 指令分别有不同的方法(method) ,设计者可以根据需要选择适当的方法,以满 足系统属性的要求。Help polyfun 可以得到更详细的内容。 y=interp1(xs,ys,x,method) 在有限样本点向量 xs 与 ys 中,插值产生向量 x 和 y,所用方法定义在 method 中,有 4 种选择: nearest:执行速度最快,输出结果为直角转折 linear:默认值,在样本点上斜率变化很大 spline:最花时间,但输出结果也最平滑 cubic:最占内存,输出结果与 spline 差不多 4)绘图函数 plot(x1,y1,option1,x2,y2,option2,) x1,y1 给出的数据分别为 x,y 轴坐标值,option1 为选项参数,以逐点连折线的方式 绘制 1 个二维图形;同时类似地绘制第二个二维图形,等。 这是 plot 命令的完全格式,在实际应用中可以根据需要进行简化。比如: plot(y), 以向量 y 的值为纵坐标,横坐标从 1 开始自动赋值绘制一条平面曲线; plot(x,y), x 和 y 为长度相同的向量,以 x 的值为横坐标和 y 的值为纵坐标绘制一 条平面曲线; plot(x,y,s),这里 s 是作图控制参数,用来控制线条的颜色、线型及标示符号等, 用一个单引号括起来的字符串表示,所绘制的曲线与第二种格式相同(控制参数字符 请参考 Matlab 的帮助,这些参数可以组合使用) ; x=linspace(0,2*pi,100); % 100 个点的 x 座标 y=sin(x); % 对应的 y 座标 plot(x,y); 这就画出了正弦函数在0,2上的图形 若要画出多条曲线,只需将座标对依次放入 plot 函数即可: plot(x, sin(x), x, cos(x); 该命令在同一坐标系中画出了正弦和余弦函数的图形。 grid on:在所画出的图形坐标中加入栅格 grid off:除去图形坐标中的栅格 hold on:把当前图形保持在屏幕上不变,同时允许在这个坐标内绘制另外一个图 形。 hold off:使新图覆盖旧的图形 设定轴的范围 axis(xmin xmax ymin ymax) axis(equal):将 x 坐标轴和 y 坐标轴的单位刻度大小调整为一样。 文字标示 text(x,y,字符串) 在图形的指定坐标位置(x,y)处,标示单引号括起来的字符串。 gtext(字符串) 利用鼠标在图形的某一位置标示字符串。 title(字符串) 在所画图形的最上端显示说明该图形标题的字符串。 xlabel(字符串),ylabel(字符串) 设置 x,y 坐标轴的名称。 输入特殊的文字需要用反斜杠()开头。 legend(字符串 1,字符串 2,字符串 n) 在屏幕上开启一个小视窗,然后依据绘图命令的先后次序,用对应的字符串区分 图形上的线。 subplot(mnk):分割图形显示窗口 m:上下分割个数,n:左右分割个数,k:子图编号 semilogx:绘制以 x 轴为对数坐标(以 10 为底) ,y 轴为线性坐标的半对数坐标图 形。 semilogy:绘制以 y 轴为对数坐标(以 10 为底) ,x 轴为线性坐标的半对数坐标图 形。 3、控制系统的模型控制系统的模型 控制系统的表示可用三种模型:传递函数、零极点增益、状态空间。每一种模型 又有连续与离散之分。为分析系统方便有时需要在三种模型间转换。MATLAB 提供了 各种命令,使我们可以很方便的完成这些工作,下面以连续系统为例简要说明有关命 令。 1) 模型与表示式模型与表示式 传递函数模型 1 110 1 110 . ( ) . mm mm nn nn b sbsbsb G s a sasa sa 在 MATLAB 中直接用矢量组表示传递函数的分子、分母多项式系数,即: num = bm bm-1 b0; 表示传递函数的分子多项式系数 den = an an-1 a0; 表示传递函数的分母多项式系数 sys = tf(num,den) tf 命令将 sys 变量表示成传递函数模型。 零极点增益模型 12 12 ()().() ( ) ()().() m n szszsz G sk spspsp 在 MATLAB 中用 z、p、k 矢量组分别表示系统的零点、极点和增益,即: z = z1 z2 zm ; p = p1 p2 pn ; k = k ; sys = zpk(z,p,k) zpk 命令将 sys 变量表示成零极点增益模型。 状态空间模型 x = ax + bu y = cx + du 在 MATLAB 中用(a、b、c、d)矩阵组表示,然后 sys = ss(a,b,c,d) ss 命令将 sys 变量表示成状态空间模型。 2) 模型间的转换模型间的转换 在 MATLAB 中进行模型间转换的命令有: ss2tf、ss2zp、tf2ss、tf2zp、zp2tf、zp2ss 它们之间的作用可由下面的示意图表示: ss2tf tf2ss zp2tf tf2zp zp2ss ss2zp 3) 模型间的关系与系统建模模型间的关系与系统建模 实际工作中常常需要由多个简单系统构成复杂系统,MATLAB 中有下面几种命令 零极点增益模型 传递函数模型 状态空间模型 可以解决两个系统间的连接问题。 系统的并联系统的并联 parallel 命令可以实现两个系统的并联。 命令格式: n,d = parallel(n1,d1,n2,d2) 其中 n1、d1和 n2、d2分别为 g1(s) 、g2(s)的传递函数分子、分母系数行矢量。 例 将下面两个系统并联连接 1 3 ( ) 4 g s s 2 2 24 ( ) 23 s gs ss 执行下面程序: n1 = 3 ; d1 = 1 4 ; n2 = 2 4 ; d2 = 1 2 3 ; n,d = parallel(n1,d1,n2,d2) 运行结果:n = 0 5 18 25 d = 1 6 11 12 可得并联后系统的传递函数为 2 32 51825 ( ) 61112 ss g s sss 系统的串联系统的串联 series 命令实现两个系统的串联,命令格式: n,d = series(n1,d1,n2,d2) 系统的反馈系统的反馈 feedback 命令实现两个系统的反馈连接, 命令格式: n,d = feedback(n1,d1,n2,d2) 或: n,d = feedback(n1,d1,n2,d2,sign) 其中 sign 是反馈符号,缺省时默认为负(即 sign = -1) 。 例 设有下面两个系统: 1 2 1 ( ) 23 s g s ss 2 1 ( ) 10 gs s 现要将它们负反馈连接,求传递函数 输入: n1 = 1,1 ; d1 = 1,2,3 ; n2 = 1; d2 = 1,10 ; n,d = feedback(n1,d1,n2,d2) 运行结果: n = 0 1 11 10 d = 112 24 31 即所求系统为: 2 22 1110 ( ) 122431 ss g s sss 三、实验内容三、实验内容 1已知,分别求取和并联、串联以 2 1 )( , 500 1 )( 2 2 1 s s sG s sG)( 1 sG)( 2 sG 及反馈连接时,系统的传递函数。 2已知,分别求取和并联、 2 1 )( , 42 1 )( 2 2 1 s s sG ss s sG)( 1 sG)( 2 sG 串联以及反馈连接时,系统的传递函数。 3. 将系统转换为状态空间形式。; 6168s 682s )( 23 2 ss s sG 4. 将下列系统转换为传递函数形式。 0.DCBA DU.CXY BU,AXX ,010 , 1 0 0 , 1026 402 011 四、实验报告四、实验报告 1根据内容要求,写出调试好的 MATLAB 语言程序,及对应的 MATLAB 运算结果。 2用实验结果说明函数 parallel 与运算符“+”功能上的异同点。 3写出实验的心得与体会。 五、预习要求五、预习要求 1. 预习实验中基础知识,运行编制好的 MATLAB 语句,熟悉 MATLAB 指令及函 数。 2. 结合实验内容,提前编制相应的程序。 3熟悉控制系统数学模型的表达及相互转换。 实验二实验二 典型环节的典型环节的 MATLAB 仿真仿真 一、实验目的一、实验目的 1熟悉 MATLAB 桌面和命令窗口,初步了解 SIMULINK 功能模块的使用方法。 2通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应 曲线的理解。 3定性了解各参数变化对典型环节动态特性的影响。 二、二、SIMULINKSIMULINK 的使用的使用 MATLAB 中 SIMULINK 是一个用来对动态系统进行建模、仿真和分析的软件包。 利用 SIMULINK 功能模块可以快速的建立控制系统的模型,进行仿真和调试。 1运行 MATLAB 软件,在命令窗口栏“”提示符下键入 simulink 命令,按 Enter 键或在工具栏单击按钮,即可进入如图 1-1 所示的 SIMULINK 仿真环境下。 2选择 File 菜单下 New 下的 Model 命令,新建一个 simulink 仿真环境常规模板。 3在 simulink 仿真环境下,创建所需要的系统。 以图 1-2 所示的系统为例,说明基本设计步骤如下: 1)进入线性系统模块库,构建传递函数。点击 simulink 下的“Continuous” ,再将 图 1-1 SIMULINK 仿真界面图 1-2 系统方框图 右边窗口中“Transfer Fen”的图标用左键拖至新建的“untitled”窗口。 2)改变模块参数。在 simulink 仿真环境“untitled”窗口中双击该图标,即可改变 传递函数。其中方括号内的数字分别为传递函数的分子、分母各次幂由高到低的系数, 数字之间用空格隔开;设置完成后,选择 OK,即完成该模块的设置。 3)建立其它传递函数模块。按照上述方法,在不同的 simulink 的模块库中,建立 系统所需的传递函数模块。例:比例环节用“Math”右边窗口“Gain”的图标。 4)选取阶跃信号输入函数。用鼠标点击 simulink 下的“Source” ,将右边窗口中 “Step”图标用左键拖至新建的“untitled”窗口,形成一个阶跃函数输入模块。 5)选择输出方式。用鼠标点击 simulink 下的“Sinks” ,就进入输出方式模块库, 通常选用“Scope”的示波器图标,将其用左键拖至新建的“untitled”窗口。 6)选择反馈形式。为了形成闭环反馈系统,需选择“Math” 模块库右边窗口 “Sum”图标,并用鼠标双击,将其设置为需要的反馈形式(改变正负号) 。 7)连接各元件,用鼠标划线,构成闭环传递函数。 8)运行并观察响应曲线。用鼠标单击工具栏中的“”按钮,便能自动运行仿真 环境下的系统框图模型。运行完之后用鼠标双击“Scope”元件,即可看到响应曲线。 三、实验原理三、实验原理 1比例环节的传递函数为 KRKR R R Z Z sG200,1002)( 21 1 2 1 2 其对应的模拟电路及 SIMULINK 图形如图 1-3 所示。 2惯性环节的传递函数为 ufCKRKR sCR R R Z Z sG1,200,100 12 . 0 2 1 )( 121 12 1 2 1 2 图 1-3 比例环节的模拟电路及 SIMULINK 图形 其对应的模拟电路及 SIMULINK 图形如图 1-4 所示。 3积分环节(I)的传递函数为 ufCKR ssCRZ Z sG1,100 1 . 0 11 )( 11 111 2 其对应的模拟电路及 SIMULINK 图形如图 1-5 所示。 4微分环节(D)的传递函数为 ufCKRssCR Z Z sG10,100)( 1111 1 2 ufCC01 . 0 12 其对应的模拟电路及 SIMULINK 图形如图 1-6 所示。 5比例+微分环节(PD)的传递函数为 ) 11 . 0() 1()( 11 1 2 1 2 ssCR R R Z Z sG 图 1-4 惯性环节的模拟电路及 SIMULINK 图 形 图 1-5 积分环节的模拟电路及及 SIMULINK 图 形 图 1-6 微分环节的模拟电路及及 SIMULINK 图 形 ufCCufCKRR01 . 0 10,100 12121 其对应的模拟电路及 SIMULINK 图形如图 1-7 所示。 6比例+积分环节(PI)的传递函数为 ) 1 1 ( 1 )( 1 1 2 1 2 sR sC R Z Z sG ufCKRR10,100 121 其对应的模拟电路及 SIMULINK 图形如图 1-8 所示。 四、实验内容四、实验内容 按下列各典型环节的传递函数,建立相应的 SIMULINK 仿真模型,观察并记录其 单位阶跃响应波形。 比例环节和; 1)( 1 sG2)( 1 sG 惯性环节和 1 1 )( 1 s sG 15 . 0 1 )( 2 s sG 积分环节 s sG 1 )( 1 微分环节ssG)( 1 比例+微分环节(PD)和2)( 1 ssG1)( 2 ssG 比例+积分环节(PI)和 s sG 1 1)( 1 s sG 2 1 1)( 2 五、实验报告五、实验报告 1画出各典型环节的 SIMULINK 仿真模型。 图 1-7 比例+微分环节的模拟电路及 SIMULINK 图形 曲线 图 1-8 比例+积分环节的模拟电路及 SIMULINK 图 形曲线 2. 记录各环节的单位阶跃响应波形,并分析参数对响应曲线的影响。 3. 写出实验的心得与体会。 六、预习要求六、预习要求 1熟悉各种控制器的原理和结构,画好将创建的 SIMULINK 图形。 2预习 MATLAB 中 SIMULINK 的基本使用方法。 实验三实验三 线性系统时域响应分析线性系统时域响应分析 一、实验目的一、实验目的 1熟练掌握 step( )函数和 impulse( )函数的使用方法,研究线性系统在单位阶 跃、单位脉冲及单位斜坡函数作用下的响应。 2通过响应曲线观测特征参量和对二阶系统性能的影响。 n 3熟练掌握系统的稳定性的判断方法。 二、基础知识及二、基础知识及 MATLABMATLAB 函数函数 (一)基础知识 时域分析法直接在时间域中对系统进行分析,可以提供系统时间响应的全部信息, 具有直观、准确的特点。为了研究控制系统的时域特性,经常采用瞬态响应(如阶跃 响应、脉冲响应和斜坡响应) 。本次实验从分析系统的性能指标出发,给出了在 MATLAB 环境下获取系统时域响应和分析系统的动态性能和稳态性能的方法。 用 MATLAB 求系统的瞬态响应时,将传递函数的分子、分母多项式的系数分别以 s 的降幂排列写为两个数组 num、den。由于控制系统分子的阶次 m 一般小于其分母的阶 次 n,所以 num 中的数组元素与分子多项式系数之间自右向左逐次对齐,不足部分用零 补齐,缺项系数也用零补上。 1用 MATLAB 求控制系统的瞬态响应 1)阶跃响应 求系统阶跃响应的指令有: step(num,den) 时间向量 t 的范围由软件自动设定,阶跃响应曲线随即绘出 step(num,den,t) 时间向量 t 的范围可以由人工给定(例如 t=0:0.1:10) y,x=step(num,den) 返回变量 y 为输出向量,x 为状态向量 在 MATLAB 程序中,先定义 num,den 数组,并调用上述指令,即可生成单位阶跃输 入信号下的阶跃响应曲线图。 考虑下列系统: 254 25 )( )( 2 sssR sC 该系统可以表示为两个数组,每一个数组由相应的多项式系数组成,并且以 s 的降幂 排列。则 MATLAB 的调用语句: num=0 0 25; %定义分子多项式 den=1 4 25; %定义分母多项式 step(num,den) %调用阶跃响应函数求取单位阶跃响应曲线 grid %画网格标度线 xlabel(t/s),ylabel(c(t) %给坐标轴加上说明 title(Unit-step Respinse of G(s)=25/(s2+4s+25) %给图形加上标题名 则该单位阶跃响应曲线如图 2-1 所示: 为了在图形屏幕上书写文本,可以用 text 命令在图上的任何位置加标注。例如: text(3.4,-0.06,Y1) 和 text(3.4,1.4,Y2) 第一个语句告诉计算机,在坐标点 x=3.4,y=-0.06 上书写出Y1 。类似地,第二 个语句告诉计算机,在坐标点 x=3.4,y=1.4 上书写出Y2 。 若要绘制系统 t 在指定时间(0-10s)内的响应曲线,则用以下语句: num=0 0 25; den=1 4 25; t=0:0.1:10; step(num,den,t) 即可得到系统的单位阶跃响应曲线在 0-10s 间的部分,如图 2-2 所示。 2)脉冲响应 求系统脉冲响应的指令有: impulse (num,den) 时间向量 t 的范围由软件自动设定,阶跃响应曲线随即绘 图 2-1 二阶系统的单位阶跃响应 图 2-2 定义时间范围的单位阶跃响应 出 impulse (num,den,t) 时间向量 t 的范围可以由人工给定(例如 t=0:0.1:10) y,x=impulse(num,den) 返回变量 y 为输出向量,x 为状态向量 y,x,t=impulse(num,den,t) 向量 t 表示脉冲响应进行计算的时间 例:试求下列系统的单位脉冲响应: 12 . 0 1 )( )( )( 2 ss sG sR sC 在 MATLAB 中可表示为 num=0 0 1; den=1 0.2 1; impulse(num,den) grid title(Unit-impulse Response of G(s)=1/(s2+0.2s+1) 由此得到的单位脉冲响应曲线如图 2-3 所示: 求脉冲响应的另一种方法 应当指出,当初始条件为零时,G (s)的单位脉冲响应与 sG(s)的单位阶跃响应相同。 考虑在上例题中求系统的单位脉冲响应,因为对于单位脉冲输入量,R(s)=1 所以 sss s ss sGsC sR sC1 12 . 012 . 0 1 )()( )( )( 22 因此,可以将 G(s)的单位脉冲响应变 换成 sG(s)的单位阶跃响应。 向 MATLAB 输入下列 num 和 den,给出阶跃响应命令,可以得到系 图 2-3 二阶系统的单位脉冲响应 图 2-4 单位脉冲响应的另一种表示法 统的单位脉冲响应曲线如图 2-4 所示。 num=0 1 0; den=1 0.2 1; step(num,den) grid title(Unit-step Response of sG(s)=s/(s2+0.2s+1) 3)斜坡响应 MATLAB 没有直接调用求系统斜坡响应的功能指令。在求取斜坡响应时,通常利 用阶跃响应的指令。基于单位阶跃信号的拉氏变换为 1/s,而单位斜坡信号的拉氏变换 为 1/s2。因此,当求系统 G(s)的单位斜坡响应时,可以先用 s 除 G(s),再利用阶跃响应 命令,就能求出系统的斜坡响应。 例如,试求下列闭环系统的单位斜坡响应。 1 1 )( )( 2 sssR sC 对于单位斜坡输入量,R(s)=1/s2 ,因此 sssssss sC 1 ) 1( 11 1 1 )( 222 在 MATLAB 中输入以下命令,得到如图 2-5 所示的响应曲线: num=0 0 0 1; den=1 1 1 0; step(num,den) title(Unit-Ramp Response Cuve for System G(s)=1/(s2+s+1) 图 2-5 单位斜坡响应 2. 特征参量和对二阶系统性能的影响 n 标准二阶系统的闭环传递函数为: 22 2 2)( )( nn n sssR sC 二阶系统的单位阶跃响应在不同的特征参量下有不同的响应曲线。 1)对二阶系统性能的影响 设定无阻尼自然振荡频率,考虑 5 种不同的值:=0,0.25,0.5,1.0)/( 1srad n 和 2.0,利用 MATLAB 对每一种求取单位阶跃响应曲线,分析参数对系统的影响。 为便于观测和比较,在一幅图上绘出 5 条响应曲线(采用“hold”命令实现)。 num=0 0 1; den1=1 0 1; den2=1 0.5 1; den3=1 1 1; den4=1 2 1; den5=1 4 1; t=0:0.1:10; step(num,den1,t) grid text(4,1.7,Zeta=0); hold step(num,den2,t) text (3.3,1.5,0.25) step(num,den3,t) text (3.5,1.2,0.5) step(num,den4,t) text (3.3,0.9,1.0) step(num,den5,t) text (3.3,0.6,2.0) title(Step-Response Curves for G(s)=1/s2+2(zeta)s+1) 由此得到的响应曲线如图 2-6 所示: 图 2-6 不同时系统的响应曲线 2)对二阶系统性能的影响 n 同理,设定阻尼比时,当分别取 1,2,3 时,利用 MATLAB 求取单位阶25 . 0 n 跃响应曲线,分析参数对系统的影响。 n num1=0 0 1; den1=1 0.5 1; t=0:0.1:10; step(num1,den1,t); grid; hold on text(3.1,1.4,wn=1) num2=0 0 4; den2=1 1 4; step(num2,den2,t); hold on text(1.7,1.4,wn=2) num3=0 0 9; den3=1 1.5 9; step(num3,den3,t); hold on text(0.5,1.4,wn=3) 由此得到的响应曲线如图 2-7 所示: 3系统稳定性判断 1)直接求根判稳 roots() 控制系统稳定的充要条件是其特征方程的根均具有负实部。因此,为了判别系统 的稳定性,就要求出系统特征方程的根,并检验它们是否都具有负实部。MATLAB 中 对多项式求根的函数为 roots()函数。 若求以下多项式的根,则所用的 MATLAB 指令为:24503510 234 ssss roots(1,10,35,50,24) 图 2-7 不同时系统的响应曲线 n ans = -4.0000 -3.0000 -2.0000 -1.0000 特征方程的根都具有负实部,因而系统为稳定的。 2)劳斯稳定判据 routh() 劳斯判据的调用格式为:r, info=routh(den) 该函数的功能是构造系统的劳斯表。其中,den 为系统的分母多项式系数向量,r 为返回的 routh 表矩阵,info 为返回的 routh 表的附加信息。 以上述多项式为例,由 routh 判据判定系统的稳定性。 den=1,10,35,50,24; r,info=routh(den) r= 1 35 24 10 50 0 30 24 0 42 0 0 24 0 0 info= 由系统返回的 routh 表可以看出,其第一列没有符号的变化,系统是稳定的。 3)赫尔维茨判据 hurwitz() 赫尔维茨的调用格式为:H=hurwitz(den) 。该函数的功能是构造 hurwitz 矩阵。 其中,den 为系统的分母多项式系数向量。 以上述多项式为例,由 hurwitz 判据判定系统的稳定性。 den=1,10,35,50,24; H=hurwitz(den) H= 10 50 0 0 1 35 24 0 0 10 50 0 0 1 35 24 由系统返回的 hurwitz 矩阵可以看出,系统是稳定的。与前面的分析结果完全一 致。 注意:routh()和 hurwitz()不是 MATLAB 中自带的功能函数,须加载 ctrllab3.1 文件夹(自编)才能运行。 三、实验内容三、实验内容 1观察函数 step( )和 impulse( )的调用格式,假设系统的传递函数模型为 1464 73 )( 234 2 ssss ss sG 可以用几种方法绘制出系统的阶跃响应曲线?试分别绘制。 2对典型二阶系统 2 2 2 2 )( nn n ss sG 1)分别绘出,分别取 0,0.25,0.5,1.0 和 2.0 时的单位阶跃响应曲线,)/(2srad n 分析参数对系统的影响,并计算=0.25 时的时域性能指标。 sssprp ettt, 2)绘制出当=0.25, 分别取 1,2,4,6 时单位阶跃响应曲线,分析参数对系统 n n 的影响。 3系统的特征方程式为,试用三种判稳方式判别该系统010532 234 ssss 的稳定性。 4单位负反馈系统的开环模型为 )256)(4)(2( )( 2 ssss K sG 试分别用劳斯稳定判据和赫尔维茨稳定判据判断系统的稳定性,并求出使得闭环系统 稳定的 K 值范围。 四、实验报告四、实验报告 1根据内容要求,写出调试好的 MATLAB 语言程序,及对应的 MATLAB 运算结果。 2. 记录各种输出波形,根据实验结果分析参数变化对系统的影响。 3总结判断闭环系统稳定的方法,说明增益 K 对系统稳定性的影响。 4写出实验的心得与体会。 五、预习要求五、预习要求 1. 预习实验中基础知识,运行编制好的 MATLAB 语句,熟悉 MATLAB 指令及 step( )和 impulse( )函数。 2. 结合实验内容,提前编制相应的程序。 3思考特征参量和对二阶系统性能的影响。 n 4熟悉闭环系统稳定的充要条件及学过的稳定判据。 实验四实验四 线性系统的根轨迹线性系统的根轨迹 一、实验目的一、实验目的 1. 熟悉 MATLAB 用于控制系统中的一些基本编程语句和格式。 2. 利用 MATLAB 语句绘制系统的根轨迹。 3. 掌握用根轨迹分析系统性能的图解方法。 4. 掌握系统参数变化对特征根位置的影响。 二、基础知识及二、基础知识及 MATLABMATLAB 函数函数 根轨迹是指系统的某一参数从零变到无穷大时,特征方程的根在 s 平面上的变化 轨迹。这个参数一般选为开环系统的增益 K。课本中介绍的手工绘制根轨迹的方法, 只能绘制根轨迹草图。而用 MATLAB 可以方便地绘制精确的根轨迹图,并可观测参数 变化对特征根位置的影响。 假设系统的对象模型可以表示为 nn nn mm mm asbsas bsbsbsb KsKGsG 1 1 1 1 1 21 0 )()( 系统的闭环特征方程可以写成 0)(1 0 sKG 对每一个 K 的取值,我们可以得到一组系统的闭环极点。如果我们改变 K 的数值,则 可以得到一系列这样的极点集合。若将这些 K 的取值下得出的极点位置按照各个分支 连接起来,则可以得到一些描述系统闭环位置的曲线,这些曲线又称为系统的根轨迹。 1)绘制系统的根轨迹 rlocus() MATLAB 中绘制根轨迹的函数调用格式为: rlocus(num,den) 开环增益 k 的范围自动设定。 rlocus(num,den,k) 开环增益 k 的范围人工设定。 rlocus(p,z) 依据开环零极点绘制根轨迹。 r=rlocus(num,den) 不作图,返回闭环根矩阵。 r,k=rlocus(num,den) 不作图,返回闭环根矩阵 r 和对应的开环增益向量 k。 其中,num,den 分别为系统开环传递函数的分子、分母多项式系数,按 s 的降幂排 列。K 为根轨迹增益,可设定增益范围。 例 3-1:已知系统的开环传递函数,绘制系统的根轨迹 924 ) 1( )( 23 sss s KsG 的 MATLAB 的调用语句如下: num=1 1; %定义分子多项式 den=1 4 2 9; %定义分母多项式 rlocus (num,den) %绘制系统的根轨迹 grid %画网格标度线 xlabel(Real Axis),ylabel(Imaginary Axis) %给坐标轴加上说明 title(Root Locus) %给图形加上标题名 则该系统的根轨迹如图 3-1 所示: 若上例要绘制 K 在(1,10)的根轨迹图,则此时的 MATLAB 的调用格式如下, 对应的根轨迹如图 3-2 所示。 num=1 1; 图 3-1 系统的完整根轨迹图形图 3-2 特定增益范围内的根轨迹图形 den=1 4 2 9; k=1:0.5:10; rlocus (num,den,k) 2)确定闭环根位置对应增益值 K 的函数 rlocfind() 在 MATLAB 中,提供了 rlocfind 函数获取与特定的复根对应的增益 K 的值。在 求出的根轨迹图上,可确定选定点的增益值 K 和闭环根 r(向量)的值。该函数的调用 格式为: k,r=rlocfind(num,den) 执行前,先执行绘制根轨迹命令 rlocus(num,den) ,作出根轨迹图。执行 rlocfind 命令时,出现提示语句“Select a point in the graphics window” ,即要 求在根轨迹图上选定闭环极点。将鼠标移至根轨迹图选定的位置,单击左键确定,根 轨迹图上出现“+”标记,即得到了该点的增益 K 和闭环根 r 的返回变量值。 例 3-2:系统的开环传递函数为,试求:(1)系统的 2538 65 )( 23 2 sss ss KsG 根轨迹;(2)系统稳定的 K 的范围;(3)K=1 时闭环系统阶跃响应曲线。则此时的 MATLAB 的调用格式为: G=tf(1,5,6,1,8,3,25); rlocus (G); %绘制系统的根轨迹 k,r=rlocfind(G) %确定临界稳定时的增益值 k 和对应的极点 r G_c=feedback(G,1); %形成单位负反馈闭环系统 step(G_c) %绘制闭环系统的阶跃响应曲线 则系统的根轨迹图和闭环系统阶跃响应曲线如图 3-2 所示。 其中,调用 rlocfind()函数,求出系统与虚轴交点的 K 值,可得与虚轴交点的 K 值为 0.0264,故系统稳定的 K 的范围为。),0264 . 0 (K (a)根轨迹图形 (b)K=1 时的阶跃响应曲线 图 3-2 系统的根轨迹和阶跃响应曲线 3)绘制阻尼比和无阻尼自然频率的栅格线 sgrid( ) n 当对系统的阻尼比和无阻尼自然频率有要求时,就希望在根轨迹图上作等 n 或等线。MATLAB 中实现这一要求的函数为 sgrid( ),该函数的调用格式为: n sgrid(,) 已知和的数值,作出等于已知参数的等值线。 n n sgrid(new) 作出等间隔分布的等和网格线。 n 例 3-3:系统的开环传递函数为,由 rlocfind 函数找出能产 )2)(1( 1 )( sss sG 生主导极点阻尼=0.707 的合适增益,如图 3-3(a)所示。 G=tf(1,conv(1,1,1,2),0); zet=0.1:0.2:1;wn=1:10; sgrid(zet,wn);hold on;rlocus(G) k,r=rlocfind(G) Select a point in the graphics window selected_point = -0.3791 + 0.3602i k = 0.6233 r = -2.2279 -0.3861 + 0.3616i -0.3861 - 0.3616i 同时我们还可以绘制出该增益下闭环系统的阶跃响应,如图 3-3(b)所示。事实上, 等或等线在设计系补偿器中是相当实用的,这样设计出的增益 K=0.6233 将使得 n 整个系统的阻尼比接近 0.707。由下面的 MATLAB 语句可以求出主导极点,即 r(2.3)点 的阻尼比和自然频率为 G_c=feedback(G,1); step(G_c) dd0=poly(r(2:3,:); wn=sqrt(dd0(3);zet=dd0(2)/(2*wn);zet,wn ans = 0.7299 0.5290 我们可以由图 3-3(a)中看出,主导极点的结果与实际系统的闭环响应非常接近, 设计的效果是令人满意的。 4)基于根轨迹的系统设计及校正工具 rltool MATLAB 中提供了一个系统根轨迹分析的图形界面,在此界面可以可视地在整个 前向通路中添加零极点(亦即设计控制器) ,从而使得系统的性能得到改善。实现这一 要求的工具为 rltool,其调用格式为: rltool 或 rltool(G) 例 3-4:单位负反馈系统的开环传递函数 )50)(20)(5( 125 . 0 )( 2 ssss s sG 输入系统的数学模型,并对此对象进行设计。 den=conv(1,5,conv(1,20,1,50),0,0; num=1,0.125; G=tf(num,den); rltool(G) 该命令将打开 rltool 工具的界面,显示原开环模型的根轨迹图,如图 3-4(a) 所示。单击该图形菜单命令 Analysis 中的 Response to Step Command 复选框,则将 打开一个新的窗口,绘制系统的闭环阶跃响应曲线,如图 3-4(b)所示。可见这样直 接得出的系统有很强的振荡,就需要给这个对象模型设计一个控制器来改善系统的闭 环性能。 (a)根轨迹上点的选择 (b)闭环系统阶跃响应 图 3-3 由根轨迹技术设计闭环系统 a)原对象模型的根轨迹 (b)闭环系统阶跃响应 图 3-4 根轨迹设计工具界面及阶跃响应分析 单击界面上的零点和极点添加的按钮,可以给系统添加一对共轭复极点,两个稳 定零点,调整它们的位置,并调整增益的值,通过观察系统的闭环阶跃响应效果,则 可以试凑地设计出一个控制器 )84 . 0 3 .61)(84 . 0 3 .61( )26.10)(31.38( 29.181307)( jsjs ss sGC 在此控制器下分别观察系统的根轨迹和闭环系统阶跃响应曲线。可见,rltool 可 以作为系统综合的实用工具,在系统设计中发挥作用。 三、实验内容三、实验内容 1请绘制下面系统的根轨迹曲线 )136)(22( )( 22 sssss K sG )10)(10012)(1( )12( )( 2 ssss sK sG ) 11 . 0012 . 0 )(10714 . 0 ( ) 105 . 0 ( )( 2 ssss K sG 同时得出在单位阶跃负反馈下使得闭环系统稳定的 K 值的范围。 2. 在系统设计工具 rltool 界面中,通过添加零点和极点方法,试凑出上述系统, 并观察增加极、零点对系统的影响。 四、实验报告四、实验报告 1根据内容要求,写出调试好的 MATLAB 语言程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河道水面漂浮物清理环保技术应用方案
- xx市防洪排涝整治工程技术方案
- 昌宁施甸县公务员考试试题及答案
- 璧山区公务员考试试题及答案
- 宝鸡市渭滨区公务员考试试题及答案
- 安康市公务员考试面试试题及答案
- 2026年虚拟现实教育软件公司未成年人信息保护合规管理制度
- 2026年蔬菜种植公司质量与安全工作绩效考核制度
- 房建工程地上结构钢筋施工技术
- 十五五规划纲要深度解析:职业教育实训设备共享政策
- 2024-2025学年译林版八年级英语上学期期末复习 专题01 Unit1 ~Unit8重点词汇短语句子归纳【考点清单】
- 江南大学《物联网技术导论》2023-2024学年第一学期期末试卷
- 外科学(1)知到智慧树章节测试课后答案2024年秋温州医科大学
- 社区小小宣传员(课件)四年级下册劳动人教版
- 医院8S管理成果汇报
- 2024-2025学年高二上学期期中模拟考试英语试题(译林版2020选择性必修一Unit 4+选择性必修二Units 1~3)(全解全析)
- 电力工程技术标准清单
- 2024年新人教版七年级上数学全册教案
- 数通L2(HCS-Pre-Sales-IP)认证考试题库(含答案)
- 2024年全国网络安全行业职业技能大赛(网络安全管理员)考试题库-上(单选题)
- 汽车驱动桥设计
评论
0/150
提交评论