00讲稿 自动控制原理实验指导书 00实验一 基于MATLAB实验平台的系统被控对象的建立与转换
- 格式:doc
- 大小:358.50 KB
- 文档页数:16
实验一 MATLAB 及仿真实验(控制系统的时域分析)一、实验目的学习利用MATLAB 进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性; 二、预习要点1、 系统的典型响应有哪些2、 如何判断系统稳定性3、 系统的动态性能指标有哪些 三、实验方法(一) 四种典型响应1、 阶跃响应:阶跃响应常用格式:1、)(sys step ;其中sys 可以为连续系统,也可为离散系统。
2、),(Tn sys step ;表示时间范围0---Tn 。
3、),(T sys step ;表示时间范围向量T 指定。
4、),(T sys step Y =;可详细了解某段时间的输入、输出情况。
2、 脉冲响应:脉冲函数在数学上的精确定义:0,0)(1)(0〉==⎰∞t x f dx x f其拉氏变换为:)()()()(1)(s G s f s G s Y s f ===所以脉冲响应即为传函的反拉氏变换。
脉冲响应函数常用格式: ① )(sys impulse ; ②);,();,(T sys impulse Tn sys impulse③ ),(T sys impulse Y =(二) 分析系统稳定性 有以下三种方法:1、 利用pzmap 绘制连续系统的零极点图;2、 利用tf2zp 求出系统零极点;3、 利用roots 求分母多项式的根来确定系统的极点 (三) 系统的动态特性分析Matlab 提供了求取连续系统的单位阶跃响应函数step 、单位脉冲响应函数impulse 、零输入响应函数initial 以及任意输入下的仿真函数lsim.四、实验内容 (一) 稳定性1. 系统传函为()27243645232345234+++++++++=s s s s s s s s s s G ,试判断其稳定性2. 用Matlab 求出253722)(2342++++++=s s s s s s s G 的极点。
%Matlab 计算程序num=[3 2 5 4 6];den=[1 3 4 2 7 2];G=tf(num,den);pzmap(G);p=roots(den)运行结果: p =+ - + -P ole-Zero MapReal AxisI m a g i n a r y A x i s-2-1.5-1-0.500.5-1.5-1-0.50.511.5图1-1 零极点分布图由计算结果可知,该系统的2个极点具有正实部,故系统不稳定。
《自动控制原理Ⅰ》实验指导书2013年9月修订实验一 典型环节及其阶跃响应一. 实验目的1.学习构成典型环节的模拟电路。
2.熟悉各种典型环节的阶跃响应曲线,了解参数变化对典型环节动态特性的影响。
3.学会由阶跃响应曲线计算典型环节的传递函数。
4.掌握仿真分析软件multisim的使用。
二. 物理模拟说明用电子线性运算放大器和各种反馈电路能够模拟线性系统典型环节。
同时,模拟典型环节是有条件的,即是将运算放大器视为满足以下条件的理想放大器:(1)输入阻抗为∞,进入运算放大器的电流为零,同时输出阻抗为零;(2)电压增益为∞;(3)通频带为∞;(4)输入与输出间呈线性特性.可是,实际运算放大器毕竟不是理想的;电子元件和电路仍然有惯性(尽管非常小)其通频带有限,并非达到∞,输入输出功率也是有限的;一般的运算放大器,在开环使用时,其通频带仅为10-100Hz,当将其接成K=1的比例器,其通频带也不过MHz左右。
所以,以线性运算放大器和各种反馈电路去模拟系统的各种线性和非线环节也不是无条件的,它仍然是在一定条件下,在一定程度上模拟出线性典型环节的特性,超出条件的范围和要求过份精确都是办不到的。
因此,需要说明以下几点事项:(1)用实际的运算放大器模拟线性系统各种典型环节都是有条件的近似关系,不可能得到理想化典型环节的特性。
其主要原因是:1实际运算放大器输出幅值受其电源所限,根本不可能达到∞,此即非线性影响;2实际运算放大器不是无惯性的。
尽管惯性很小,但通频带不会达到∞。
(2)实际运算放大器输出幅值受限的非线性因素对所有各种模拟环节都有影响,但情况迥异。
对比例环节、惯性环节、积分环节、比例积分环节和振荡环节,只要控制了输入量的大小或是输入量施加的时间长短(对于积分或比例积分环节),不使其输出在工作期间内达到最高饱和度,则非线性因素对上述环节特性的影响可以避免;但是非线性因素对模拟比例微分环节和微分环节的影响却无法避免。
实验一 线性定常系统动态性能分析一、实验目的1. 掌握线性定常系统动态性能指标的测试方法;2. 研究线性定常系统的参数ζ(阻尼比)、n ω(阻尼自然频率)的变化对其动态性能的影响。
二、实验设备 自动控制试验台 三、实验内容1. 观测二阶系统的阻尼比分别在0<ζ<1,ζ=1和ζ>1三种情况下的单位阶跃响应曲线,并测量出其超调量和调整时间;2. 调节二阶系统的开环增益K ,使系统的阻尼比21=ζ,测量此时系统的超调量p δ、调节时间t s (Δ= ±0.05);3. 研究三阶系统的开环增益K ,或一惯性环节的时间常数T 的变化,对系统动态性能的影响; 4.由实验确定三阶系统稳定的临界K 值。
四、实验步骤1. 二阶系统的瞬态响应用二阶常微分方程描述的系统,称为二阶系统,其标准形式的闭环传递函数为2222)()(nn n S S S R S C ωζωω++= (2-1) 闭环特征方程:0222=++n n S ωζω其解 122,1-±-=ζωζωnn S ,针对不同的ζ值,特征根会出现下列三种情况: 1)0<ζ<1(欠阻尼),22,11ζωζω-±-=n n j S此时,系统的单位阶跃响应呈振荡衰减形式,其曲线如图2-1的(a)所示。
它的数学表达式为:式中21ζωω-=n d ,ζζβ211-=-tg 。
2)1=ζ(临界阻尼)n S ω-=2,1此时,系统的单位阶跃响应是一条单调上升的指数曲线,如图2-1中的(b)所示。
3)1>ζ(过阻尼),122,1-±-=ζωζωnn S)t (Sin e 111)t (C d t 2n βωζζω+--=-此时系统有二个相异实根,它的单位阶跃响应曲线如图2-1的(c)所示。
(a) 欠阻尼(0<ζ<1) (b)临界阻尼(1=ζ) (c)过阻尼(1>ζ)图2-1 二阶系统的动态响应曲线虽然当ζ=1或ζ>1时,系统的阶跃响应无超调产生,但这种响应的动态过程太缓慢,故控制工程上常采用欠阻尼的二阶系统,一般取ζ=0.6~0.7,此时系统的动态响应过程不仅快速,而且超调量也小。
控制系统的模拟试验与MATLAB 仿真1 MATLAB 简介MATLAB 是Mathworks 公司开发的一种集数值计算、符号计算和图形可视化三大基本功能于一体的功能强大、操作简单的优秀工程计算应用软件。
MATLAB 不仅可以处理代数问题和数值分析问题,而且还具有强大的图形处理及仿真模拟等功能。
从而能够很好的帮助工程师及科学家解决实际的技术问题。
MATLAB 的含义是矩阵实验室(Matrix Laboratory ),最初主要用于方便矩阵的存取,其基本元素是无需定义维数的矩阵。
经过十几年的扩充和完善,现已发展成为包含大量实用工具箱(Toolbox )的综合应用软件,不仅成为线性代数课程的标准工具,而且适合具有不同专业研究方向及工程应用需求的用户使用。
MATLAB 最重要的特点是易于扩展。
它允许用户自行建立完成指定功能的扩展MATLAB 函数(称为M 文件),从而构成适合于其它领域的工具箱,大大扩展了MATLAB 的应用范围。
目前,MATLAB 已成为国际控制界最流行的软件,控制界很多学者将自己擅长的CAD 方法用MATLAB 加以实现,出现了大量的MATLAB 配套工具箱,如控制系统工具箱(control systems toolbox ),系统识别工具箱(system identification toolbox ),鲁棒控制工具箱(robust control toolbox ),信号处理工具箱(signal processing toolbox )以及仿真环境SIMULINK 等。
(1) MATLAB 的安装本节将讨论操作系统为Microsoft Windows 环境下安装MATLAB6的过程。
将MATLAB6的安装盘放入光驱,系统将自动运行auto-run.bat 文件,进行安装;也可以执行安装盘内的setup.exe 文件启动MATLAB 的安装程序。
启动安装程序后,屏幕将显示安装MATLAB 的初始界面,根据Windows 安装程序的常识,不断单击[Next],输入正确的安装信息,具体操作过程如下:输入正确的用户注册信息码;选择接收软件公司的协议;输入用户名和公司名;选择MATLAB 组件(Toolbox );选择软件安装路径和目录;单击[Next]按钮进入正式的安装界面。
实验一、控制系统数学模型一、实验目的1、 掌握控制系统数学模型——传递函数的求取方法;2、 利用MATLAB 命令求取控制系统传递函数。
二、实验原理在MA TLAB 命令窗口上,以命令的方式建立系统的传递函数。
在MA TLAB 下,系统的数学模型有3种描述方式,此实验用多项式模型。
(1)多项式模型:线性定常系统的数学模型传递函数G(s)一般可以表示成:m n a s a s a s a b s b s b s b s R s C s G n n n n m m m m ≥+++++++==----,......)()()(01110111 其中分子分母多项式中的a n 与b m 均为常系数。
MATLAB 语言描述:构造分子多项式:num=[b m ,b m-1,…,b 1,b 0];或num=[b m b m-1 … b 1 b 0]构造分母多项式:den=[a n ,a n-1,…,a 1,a 0];或den=[a n a n-1 … a 1 a 0]构造并显示传递函数:printsys(num,den);其中num 与den 是习惯用法,也可用其它变量名代替,但在显示时会出现num/den ,这是通用输出显示格式,与输入变量名称无关。
例1:>>num=[1 12 44 48];>>den=[1 16 86 176 105];>>printsys(num,den)显示:num/den =s^3 + 12 s^2 + 44 s + 48-----------------------------------s^4 + 16 s^3 + 86 s^2 + 176 s + 105例2:系统开环传递函数为)106)(2()1(5)(22++++=s s s s s s G 写出多项式模型。
>>n=conv([5],[1 1]);>>d=conv([1 0 0],conv([1 2],[1 6 10]));>>printsys(n,d)显示:num/den =5 s + 5-----------------------------s^5 + 8 s^4 + 22 s^3 + 20 s^2(2)模型的连接函数[num]=cloop()用于计算单位反馈时闭环传递函数多项式模型的参数向量,右变量为开环参数,左变量返回系统的闭环参数,反馈极性1为正反馈,-1为负反馈。
河南机电高等专科学校《自动控制原理》实验指导书专业:电气自动化技术、计算机控制技术生产过程自动化技术等吴君晓编2008年9月目录实验一 (2)实验二 (4)实验三 (6)实验四 (8)实验五 (10)实验六 (12)实验七 (14)实验八 (15)实验九 (17)实验一建立MATLAB环境下控制系统数学模型一. 实验目的1.熟悉MATLAB实验环境,掌握MATLAB命令窗口的基本操作。
2.掌握MATLAB建立控制系统数学模型的命令及模型相互转换的方法。
3.掌握使用MATLAB命令化简模型基本连接的方法。
二、实验设备和仪器1.计算机2. MATLAB软件三、实验原理控制系统常用的数学模型有四种:传递函数模型(tf对象)、零极点增益模型(zpk对象)、结构框图模型和状态空间模型(ss对象)。
经典控制理论中数学模型一般使用前三种模型,状态空间模型属于现代控制理论范畴。
1.传递函数模型(也称为多项式模型)连续系统的传递函数模型为:在MATLAB中用分子、分母多项式系数按s的降幂次序构成两个向量:num = [ b0 , b1 ,…, bm ] ,den = [ a0 , a1 ,…, an]。
用函数tf ( )来建立控制系统的传递函数模型,其命令调用格式为:G = tf ( num , den )注意:对于已知的多项式模型传递函数,其分子、分母多项式系数两个向量可分别用G.num{1}与G.den{1}命令求出。
2.零极点增益模型零极点模型是是分别对原传递函数的分子、分母进行因式分解,以获得系统的零点和极点的表示形式。
式中,K为系统增益,z1,z2,…,z m为系统零点,p1,p2,…,p n为系统极点。
在MATLAB 中,用向量z,p,k构成矢量组[ z, p, k ]表示系统。
即z = [ z1, z2 ,…,z m ],p = [ p1, p2,…, p n ],k = [ k ],用函数命令zpk ( )来建立系统的零极点增益模型,其函数调用格式为:G = zpk ( z, p, k )3.控制系统模型间的相互转换零极点模型转换为多项式模型: G=zpk(G)多项式模型转化为零极点模型: G=tf(G)4.系统反馈连接之后的等效传递函数两个环节反馈连接后,其等效传递函数可用feedback ( )函数求得。
《自动控制原理》实验指导书实验一 控制系统的时域分析一、实验名称控制系统的时域分析二、实验目的利用MATLAB 编程求解系统单位阶跃响应三、预习要求1、 熟悉系统单位阶跃响应的物理意义及求解方法;2、 熟悉MALAB 运行环境四、实验内容与步骤1、 设闭环传递函数分别为:22()200/(140100384)G s s s =++;num=[200];den=[150 40 50];t=0:0.1:100;step(num,den,t);grid onnum=[200];den=[150 1550 50]; t=0:0.1:100;step(num,den,t); grid onnum=[200];den=[150 60 1550]; t=0:0.1:100;step(num,den,t); grid on4323()200/(20140400384)G s s s s s =++++; num=[200];den=[15 150 60 70]; t=0:0.1:100; step(num,den,t); grid onnum=[200];den=[15 1500 60 70]; t=0:0.1:500;step(num,den,t);grid onnum=[200];den=[15 70 1500 70]; t=0:0.1:500;step(num,den,t);grid onnum=[200];den=[15 70 60 1500]; t=0:0.1:100;step(num,den,t);grid on24()(7)/(6)G s s s s =+++; num=[1 7];den=[15 70 60 70]; t=0:0.1:100; step(num,den,t); grid onnum=[1 7];den=[1500 70 60 70]; t=0:0.1:100;step(num,den,t);grid onnum=[1 7];den=[50 1700 60 70]; t=0:0.1:100;step(num,den,t);grid onnum=[1 7];den=[50 70 1600 70]; t=0:0.1:1000;step(num,den,t);grid onnum=[1 7];den=[50 70 60 1700]; t=0:0.1:100;step(num,den,t);grid on[]11122251211116.5010()10x x u x x u G s x y x ⎧--⎡⎤⎡⎤⎡⎤⎡⎤⎡⎤=+⎪⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎪⎣⎦⎣⎦⎣⎦=⎨⎡⎤⎪=⎢⎥⎪⎣⎦⎩A=[-1 -1;6.5 0]B=[1 1;1 0];C=[1 0];D=[0 0];t=0.01:20;sys=ss(A,B,C,D);step(sys,t)grid onA=[3 3;7 9]B=[1 1;1 0];C=[1 0];D=[0 0];t=0.01:10;sys=ss(A,B,C,D); step(sys,t)grid onA=[-1 -1;6.5 0] B=[3 3;1 0];C=[1 0];D=[0 0];t=0.01:10;sys=ss(A,B,C,D); step(sys,t)grid onA=[-1 -1;6.5 0] B=[1 1;1 0];C=[5 0];D=[0 0];t=0.01:10;sys=ss(A,B,C,D); step(sys,t)grid on通过编程求系统的单位阶跃响应曲线。
7.2.2 控制系统的阶跃响应一.实验目的1.观察学习控制系统的单位阶跃响应;2.记录单位阶跃响应曲线;3.掌握时间响应的一般方法。
二.实验内容 1.二阶系统为:10210)(2++=s s s G(1)键入程序,观察并记录阶跃响应曲线。
(2)键入damp(den),计算系统的闭环根、阻尼比、无阻尼振荡频率,并作记录。
键入[y,x,t]=step(num,den);返回变量输出y 与时间t(变量x 为状态变量矩阵) 键入[y,t],显示输出向量y 与时间向量t(t 为自动向量)记录实际测取的峰值大小、峰值时间、过渡时间,并与理论值相比较。
2.修改参数,分别实现ζ=1和ζ=2的响应曲线,并作记录;修改参数,写出程序分别实现0121n n w w =和022n n w w =的响应曲线,并作记录(=0n w 2110)。
3.试作出以下系统的阶跃响应,并比较与原系统响应曲线的差别与特点,作出相应的实验分析结果。
(a)102102)(21+++=s s s s G ,有系统零点情况,即s=-5。
(b)102105.0)(222++++=s s s s s G ,分子、分母多项式阶数相等,即m=n=2。
(c)1025.0)(223+++=s s s s s G ,分子多项式零次项系数为零。
(d)102)(24++=s s s s G ,原响应的微分,微分系数为1/10。
4.试作出一个三阶系统和一个四阶系统的阶跃响应,并分析实验结果。
三.实验报告要求(1)分析系统的阻尼比和无阻尼振荡频率对系统阶跃响应的影响; (2)分析响应曲线的零初值、非零初值与系统模型的关系; (3)分析响应曲线的稳态值与系统模型的关系; (4)分析系统零点对阶跃响应的影响。
四.程序代码、运行结果及结果分析n0=10;d0=[1 2 10];step(n0,d0);damp(d0)[y,x,t]=step(n0,d0);[y,t']阶跃响应曲线如下:系统的闭环根、阻尼比、无阻尼振荡频率:Eigenvalue Damping Freq. (rad/s)-1.00e+000 + 3.00e+000i 3.16e-001 3.16e+000-1.00e+000 - 3.00e+000i 3.16e-001 3.16e+000峰值大小Cmax(tp)、峰值时间tp、过渡时间ts:实际值理论值峰值Cmax(tp) 1.3509 1.3509峰值时间tp 1.0492 1.0472(π/3) 过渡时间ts(±5%) 2.5180 3.5过渡时间ts(±2%) 3.5672 4.4n0=10;d0=[1 2 10]; step(n0,d0); hold on;n1=10;d1=[1 6.32 10]; step(n1,d1);n2=10;d2=[1 12.64 10]; step(n2,d2);运行结果如下:程序代码如下:n0=10;d0=[1 2 10]; step(n0,d0); hold on;n1=2.5;d1=[1 1 2.5];step(n1,d1);n2=40;d2=[1 4 40];step(n2,d2);运行结果如下:3.(a)程序代码如下:na=[2 10];da=[1 2 10];step(na,da);hold on;n1=10;d1=[1 2 10];step(n1,d1);运行结果如下:结果对比分析:(a)系统有零点s=-5,它的阶跃响应曲线与原系统响应曲线相比较,峰值Cmax(tp)变大,峰值时间tp变小,调节时间ts变大。
自动控制原理实验报告学院:机电工程学院班级:姓名:学号:指导老师:实验一:在MATLAB中创建系统模型一、实验目的:1.熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。
2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。
二、实验过程:1.传递函数模型的建立1)多项式形式的传递函数①课本例2.23上机操作过程如下:②课本P62,习题2-3上机操作过程如下:2)零、极点形式的传递函数课本例2.24上机操作过程如下:3)分子、分母为因式乘积形式的传递函数课本例2.25上机操作过程如下:2.Simulink 建模①课本例题上机操作如下:设单位反馈系统的开环传递函数为:)1(1)(+=s s s G将其转换成Simulink 框图,输入为阶跃信号,它的Simulink 框图如下所示:② 比例环节1)(1=s G 和2)(1=s G 的SIMULINK 图形建模操作如下;比例环节1)(1=s G 的SIMULINK 图形如下图所示:比例环节2)(1=s G 的SIMULINK 图形3.课后练习用matlab求下列函数的拉氏变换(习题2-1),上机操作过程如图所示:实验二:在MATLAB中算特征根及绘制根轨迹图一、实验目的:1.掌握MATLAB下的根轨迹绘制方法;2.学会利用根轨迹进行系统分析。
二、实验过程:1)例3-21 试利用MATLAB函数求例3.1中k=2.k=20时系统的特征根,并分别判定稳定性。
上机操作过程如下:>> num=[2];den=conv([1 0],conv([0.1 1],[0.25 1]));g=tf(num,den);sys=feedback(g,1);>> pzmap(sys)p=pole(sys)p =-11.0314-1.4843 + 2.2470i-1.4843 - 2.2470i2)例3-22 二阶系统如图3.13所示,设Wn=1,试研究系统的单位阶跃响应与参数ξ的关系。
目录实验一系统的数学模型(实验代码1) (2)实验二控制系统的时域分析(实验代码2) (6)实验三控制系统的频域分析(实验代码3) (9)实验四简单闭环控制系统的控制器的设计(实验代码4) (11)注释 (13)主要参考文献 (13)实验一 系统的数学模型(实验代码1)一、实验目的和任务1、 学会使用MATLAB 的命令;2、 掌握MATLAB 有关传递函数求取及其零、极点计算的函数。
3、 掌握用MATLAB 求取系统的数学模型二、实验仪器、设备及材料1、 计算机2、 MATLAB 软件三、实验原理1、 MATLAB 软件的使用2、 使用MATLAB 软件在计算机上求取系统的传递函数 四、实验步骤准备知识:1、求串联环节的传递函数:串联后的传递函数为:dennums X s Y s G ==)()()( MATLAB 计算公式:[num,den]=series(num1,den1,num2,den2) 2、 求并联环节的传递函数:并联后的传递函数为:den nums X s Y s G ==)()()(MATLAB 计算公式:[num,den]=parallel(num1,den1,num2,den2)3、 求单位反馈控制系统的传递函数:闭环传递传递函数为:dennums G s G s G s G s X s Y s G c C B ===)()(1)()()()()( MATLAB 计算公式:[num,den]=cloop(num1,den1,sign) Sign 参数:正反馈用+1,负反馈用-1。
缺省情况为负反馈。
4、 求闭环控制系统的传递函数:闭环传递函数为:dennum s H s G s G s G s G s X s Y s G c C B ===)()()(1)()()()()( MATLAB 计算公式:[num,den]=feedback(num1,den1,num2,den2,sign) Sign 参数:正反馈用+1,负反馈用-1。
实验一基于MATLAB实验平台的系统被控对象的建立与转换[说明]一个控制系统主要由被控对象、检测测量装置、控制器和执行器四大部分构成。
用于自控原理实验方面的被控对象可以有①用于实际生产的实际系统的真实被控对象,如进行温度控制的锅炉、进行转速控制的电机等;②用于实验研究的真实被控对象,如进行温度控制的实验用锅炉、进行转速控制的电机等;③用运算放大器等电子器件搭建的电模拟被控对象(电路板形式),它们的数学模型与真实被控对象的数学模型基本一致,而且比真实被控对象更典型,更精准。
它们是实物型原理仿真被控对象。
④计算机仿真的被控对象,它们是非实物型原理仿真被控对象,是以各种形式展现的被控对象的数学模型。
它们通过计算机屏幕展示,或是公式形式的数学算式,或是数字形式的数表、矩阵,或是图形形式的结构框图,或是动画形式的真实被控对象实物的动态图形。
在自控原理实验中,①极少用;②用的不多;③用的较多;④在MATLAB软件广泛使用后,用的较多。
③、④各有其优缺点。
MATLAB软件的应用对提高控制系统的分析、设计和应用水平起着十分重要的作用。
我们的实验采用的是④:采用MATLAB软件平台的计算机仿真的被控对象。
这里“被控对象的建立”,指在MATLAB软件平台上怎样正确表示被控对象的数学模型。
[实验目的]1.了解MATLAB软件的基本特点和功能;2.掌握线性系统被控对象传递函数数学模型在MATLAB环境下的表示方法及转换;3.掌握多环节串联、并联、反馈连接时整体传递函数的求取方法;4.掌握在SIMULINK环境下系统结构图的形成方法及整体传递函数的求取方法;5.了解在MATLAB环境下求取系统的输出时域表达式的方法。
[实验指导]一、被控对象模型的建立在线性系统理论中,一般常用的描述系统的数学模型形式有:(1)传递函数模型——有理多项式分式表达式(2)传递函数模型——零极点增益表达式(3)状态空间模型(系统的内部模型)这些模型之间都有着内在的联系,可以相互进行转换。
1、传递函数模型——有理多项式分式表达式设系统的传递函数模型为1110111......)()()(a s a s a s a b s b s b s b s R s C s G n n n n m m m m ++++++++==---- 对线性定常系统,式中s 的系数均为常数,且a n 不等于零。
这时系统在MATLAB 中可以方便地由分子和分母各项系数构成的两个向量唯一地确定,这两个向量常用num 和den 表示。
num=[b m ,b m-1,…,b 1,b 0]den=[a n ,a n-1,…,a 1,a 0]注意:它们都是按s 的降幂进行排列的。
分子应为m 项,分母应为n 项,若有空缺项(系数为零的项),在相应的位置补零。
然后写上传递函数模型建立函数:sys=tf(num,den)。
这个传递函数便在MATLAB 平台中被建立,并可以在屏幕上显示出来。
举例1-1:已知系统的传递函数描述如下:22642202412)(23423++++++=s s s s s s s G 在MATLAB 命令窗口(Command Window )键入以下程序:>> num=[12,24,0,20];>> den=[2 4 6 2 2];>> sys=tf(num,den)回车后显示结果:Transfer function:12 s^3 + 24 s^2 + 20---------------------------------------2 s^4 + 4 s^3 + 6 s^2 + 2 s + 2并同时在MATLAB 中建立了这个相应的有理多项式分式形式的传递函数模型。
举例1-2:已知系统的传递函数描述如下:)523()1()66)(2(4)(23322+++++++=s s s s s s s s s G 其中,多项式相乘项,可借助多项式乘法函数conv 来处理。
在MATLAB 命令窗口(Command Window )键入以下程序:>> num=4*conv([1,2],conv([1,6,6],[1,6,6]));>> den=conv([1,0],conv([1,1],conv([1,1],conv([1,1],[1,3,2,5]))));>> sys=tf(num,den)回车后显示结果:Transfer function:4 s^5 + 56 s^4 + 288 s^3 + 672 s^2 + 720 s + 288---------------------------------------------------------------------------s^7 + 6 s^6 + 14 s^5 + 21 s^4 + 24 s^3 + 17 s^2 + 5 s即同时在MATLAB 中建立了这个有理多项式分式形式的传递函数模型。
2.传递函数模型——零极点增益模型零极点增益模型为:))...()(())...()(()(2121n m p s p s p s z s z s z s K s G ------= 其中:K 为零极点增益,z i 为零点,p j 为极点。
该模型 在MATLAB 中,可用[z,p,k]矢量组表示,即z=[z 1,z 2,…,z m ];p=[p 1,p 2,...,p n ];k=[K];然后在MATLAB 中写上零极点增益形式的传递函数模型建立函数:sys=zpk(z,p,k)。
这个零极点增益模型便在MATLAB 平台中被建立,并可以在屏幕上显示出来。
举例1-3:已知系统的零极点增益模型:)5)(2)(1()3(6)(++++=s s s s s G 在MATLAB 命令窗口(Command Window )键入以下程序:>> z=[-3];p=[-1,-2,-5];k=6;>> sys=zpk(z,p,k)回车后显示结果:Zero/pole/gain:6 (s+3)-----------------(s+1) (s+2) (s+5)则在MATLAB 中建立了这个零极点增益的模型。
3.状态空间模型状态方程与输出方程的组合称为状态空间表达式,又称为动态方程,如下:DuCx y Bu Ax x +=+= 则在MATLAB 中建立状态空间模型的程序如下:>> A=[A];>> B=[B];>> C=[C];>> D=[D];>> sys=ss(A,B,C,D)二、不同形式模型之间的相互转换不同形式之间模型转换的函数:(1)tf2zp : 多项式传递函数模型转换为零极点增益模型。
格式为:[z,p,k]=tf2zp(num,den)(2)zp2tf : 零极点增益模型转换为多项式传递函数模型。
格式为:[num,den]=zp2tf(z,p,k)(3)ss2tf : 状态空间模型转换为多项式传递函数模型。
格式为:[num,den]=ss2tf(a,b,c,d)(4)tf2ss: 多项式传递函数模型转换为状态空间模型。
格式为:[a,b,c,d]=tf2ss(num,den)(4)zp2ss : 零极点增益模型转换为状态空间模型。
格式为:[a,b,c,d]=zp2ss(z,p,k)(5)ss2zp : 状态空间模型转换为零极点增益模型。
格式为:[z,p,k]=ss2zp(a,b,c,d)三、环节串联、并联、反馈连接时等效的整体传递函数的求取1、串联这里:在MATLAB 中求取整体传递函数的功能,采用如下的语句或函数来实现。
.① G=G1*G2② G=series(G1,G2)③ [num,den]=series(num1,den1,num2,den2)举例1-4 两环节G 1、G 2串联,求等效的整体传递函数G32)(1+=s s G 127)(22++=s s s G 解:①实现的程序:>> n1=2;d1=[1 3];n2=7;d2=[1 2 1];G1=tf(n1,d1);G2=tf(n2,d2);G=G1*G2运行结果:Transfer function:14---------------------s^3 + 5 s^2 + 7 s + 3②实现的程序:>>n1=2;d1=[1 3];n2=7;d2=[1 2 1];G1=tf(n1,d1);G2=tf(n2,d2);G=series(G1,G2)运行结果:Transfer function:14---------------------s^3 + 5 s^2 + 7 s + 3③实现的程序:>>n1=2;d1=[1 3];n2=7;d2=[1 2 1];G1=tf(n1,d1);G2=tf(n2,d2);>> [n,m]=series(n1,d1,n2,d2)运行结果:n =0 0 0 14m =1 5 7 3举例1-5 四环节G 1、G 2、 G 3、G 4串联,求等效的整体传递函数G32321+===s G G G 12722++=s s G 解:实现的程序:>> n1=2;d1=[1 3];n2=7;d2=[1 2 1];G1=tf(n1,d1);G2=tf(n2,d2);>>G=G1*G2*G1*G1运行结果:Transfer function:56------------------------------------------s^5 + 11 s^4 + 46 s^3 + 90 s^2 + 81 s + 272、并联两环节G 1(s)与G 2(s)并联,则等效的整体传递函数为G(s)=G 1(s)+G 2(s)在MATLAB 中求取整体传递函数的功能,采用如下的语句或函数来实现。
① G=G1+G2② G= parallel (G1,G2)③ [num,den]= parallel (num1,den1,num2,den2)举例1-6 两环节G 1、G 2并联,求等效的整体传递函数G(s)32)(1+=s s G 127)(22++=s s s G 解:①实现的程序:>> n1=2;d1=[1 3];n2=7;d2=[1 2 1];G1=tf(n1,d1);G2=tf(n2,d2);G1+G2运行结果:Transfer function:2 s^2 + 11 s + 23----------------------------s^3 + 5 s^2 + 7 s + 3②实现的程序:>> n1=2;d1=[1 3];n2=7;d2=[1 2 1];G1=tf(n1,d1);G2=tf(n2,d2);G=parallel(G1,G2)运行结果:Transfer function:2 s^2 + 11 s + 23---------------------------s^3 + 5 s^2 + 7 s + 3③实现的程序:>> n1=2;d1=[1 3];n2=7;d2=[1 2 1]; [n,d]=parallel(n1,d1,n2,d2)运行结果:n =0 2 11 23d =1 5 7 3若则G(s)=G1(s)-G2(s)相应的语句为G=G1-G2举例1-7:程序如下>> n1=2;d1=[1 3];n2=7;d2=[1 2 1];G1=tf(n1,d1);G2=tf(n2,d2);G=G1-G2 运行结果:Transfer function:2 s^2 -3 s - 19------------------------------s^3 + 5 s^2 + 7 s + 33.反馈:feedback则在MATLAB 中采用如下的语句或函数来求取闭环传递函数)(s G 闭环① G= feedback(G1,G2,sign)② [num,den]=feedback(num1,den1,num2,den2,sign)③ G= cloop (G1, sign)④ [numc,denc]=cloop(num,den,sign)这里,sign=1时采用正反馈;当sign= -1时采用负反馈;sign 缺省时,默认为负反馈。