收藏 分享(赏)

控制工程基础(经典控制部分)MATLAB分析.doc

上传人:weiwoduzun 文档编号:3302111 上传时间:2018-10-11 格式:DOC 页数:78 大小:836KB
下载 相关 举报
控制工程基础(经典控制部分)MATLAB分析.doc_第1页
第1页 / 共78页
控制工程基础(经典控制部分)MATLAB分析.doc_第2页
第2页 / 共78页
控制工程基础(经典控制部分)MATLAB分析.doc_第3页
第3页 / 共78页
控制工程基础(经典控制部分)MATLAB分析.doc_第4页
第4页 / 共78页
控制工程基础(经典控制部分)MATLAB分析.doc_第5页
第5页 / 共78页
点击查看更多>>
资源描述

1、控制工程基础(经典控制部分) 的 MATLAB 分析第一章 MATLAB 的基本使用1-1 MATLAB 语言简介MATLAB 是一种高级矩阵语言,它由 Math Works 公司于 1984 年正式推出,它的基本处理对象是矩阵,即使是一个标量纯数,MATLAB 也认为它是只有一个元素的矩阵。随着 MATLAB 的发展,特别是它所包含的大量工具箱(应用程序集)的集结,使 MATLAB 已经成为带有独特数据结构、输入输出、流程控制语句和函数、并且面向对象的高级语言。MATLAB 语言被称为一种“ 演算纸式的科学计算语言” ,它在数值计算、符号运算、数据处理、自动控制、信号处理、神经网络、优化计算

2、、模糊逻辑、系统辨识、小波分析、图象处理、统计分析、甚至于金融财会等广大领域有着十分广泛的用途。MATLAB 语言在工程计算与分析方面具有无可比拟的优异性能。它集计算、数据可视化和程序设计于一体,并能将问题和解决方案以使用者所熟悉的数学符号或图形表示出来。MATLAB 语言和 C 语言的关系与 C 语言和汇编语言的关系类似。例如当我们需要求一个矩阵的特征值时,在 MATLAB 下只需由几个字符组成的一条指令即可得出结果,而不必去考虑用什么算法以及如何实现这些算法等低级问题,也不必深入了解相应算法的具体内容。就象在 C 语言下不必象汇编语言中去探究乘法是怎样实现的,而只需要采用乘积的结果就可以了

3、。MATLAB 语言还有一个巨大的优点是其高度的可靠性。例如对于一个病态矩阵的处理,MATLAB 不会得出错误的结果,而用 C 或其它高级语言编写出来的程序可能会得出错误的结果。这是因为 MATLAB 函数集及其工具箱都是由一些在该领域卓有研究成果,造诣很深的权威学者经过反复比较所得出来的最优方法,而且经过多年的实践检验被证明是正确可靠的。1-2 MATLAB 的工作窗口下面以 MATLAB6.1 为例介绍。从实用的角度 MATLAB 的工作窗口包括命令窗口、 M 文件编辑器窗口、图形编辑窗口、数学函数庫、应用程序接口及在线窗口。下面首先介绍 MATLAB 的命令窗口及 M 文件编辑器。一、命

4、令窗口启动 MATLAB 之后,屏幕上自动出现命令窗口 MATLAB,它是 MATLAB 提供给用户的操作界面,用户可以在命令窗口内提示符“” 之后(有的 MATLAB版本命令窗口没有提示符)键入 MATLAB 命令,回车即获得该命令的答案。命令窗口内有 File、Edit、View、Web、Window、Help 等菜单条。二、M 文件编辑窗口M 文件是 MATLAB 语言所特有的文件。用户可以在 M 文件编辑窗口内,编写一段程序,调试,运行并存盘,所保存的用户程序即是用户自己的 M 文件。MATLAB 工具箱中大量的应用程序也是以 M 文件的形式出现的,这些 M 文件可以打开来阅读,甚至修

5、改,但应注意,不可改动工具箱中的 M 文件!1进入 M 文件窗口有两种方法1) 命令窗口 File New M-File;2) 命令窗口 点击“File”字样下面的 图标。M 文件编辑窗口的标记是“Untitled” (无标题的) 。当用户编写的程序要存盘时,Untitled 作为默认文件名提供给用户,自然,用户可以,也应当自己命名。若用户不自己命名,则 MATLAB 会对 Untitled 进行编号。2M 文件的执行:返回命令窗口,在当前目录(Current Directory)内选择所要运行的 M 文件的目录,在命令窗口提示符“”后,直接键入文件名(不加后缀)即可运行。注意:(1)机器默认

6、路径为一级子目录 MATLAB6 p1work;(2)MATLAB 6.1 以前的版本,运行 M 文件的方法稍有不同,它必须在 File 菜单下,打开“Run Script”子菜单,键入需要运行的文件路径及名称再回车,在这种情况下,work 作为根目录对待,不出现在 M 文件的路径之中。本讲义的参考程序都是在 M 文件窗口下编制的。三、在线帮助窗口在命令窗口中键入 Help(空格) 函数名,可以立即获得该函数的使用方法。1-3 MATLAB 最基本的矩阵操作作为命令窗口及 M 文件编辑器的应用实例,介绍几个最基本的矩阵运算命令。一、矩阵的输入在方括号内依次按行键入矩阵元素,在一行内的各元素之间

7、用空格或逗号分开,每行之间用分号分开。例如,在命令窗内输入A=2 2 3;4 5 4;7 8 9 (注意:方括号,分号为矩阵行标记)B=1,3,5;6,-4,2;3,5,1 (逗号与空格功能相同)A 2 2 3 B 1 3 54 5 4 6 -4 27 8 9 3 5 1同理:输入 A12 4 6 得到行矢量,输入 A22;4 ;6 得到列矢量,于是,当输入C=A;A1 有C= 1 2 34 5 67 8 92 4 6A1 作为矩阵 C 的最后一行,C 和 A 相比,增加了一行。二、矩阵的转置矩阵 A 的转置用 A 表示,显然, A1 与 A2 互为转置,即 A1 会得到以2,4,6 为元素的

8、列矢量。思考一下输入 C1 A A2 C2 A A1有什么结果?而输入A;A1有无意义?三、矩阵的四则运算1矩阵的加减法:当两个矩阵维数相同时可以直接进行“”或“”运算。如 D1 AB,D2 AB2 矩阵的乘法:当矩阵 A,B 维数相容时C3A B :普通意义下的矩阵相乘C4A .B :矩阵 A 与 B 的对应元素相乘显然,A B B A(一般情况) ,而 A . B B . A。A . B 称为数列型乘法,它要求参加运算的矩阵或数列具有相同的行列数,这是 MATLAB 语言中的一种特殊运算,它在今后求取函数值等运算时是很重要的。实际上,前面所述的矩阵加、减法就是一种数列型运算。3 矩阵的除法

9、D4AB:表示 A-1B 或 inv(A)*B,即 A 的逆矩阵左乘矩阵 B。D5B/A:表示 BA -1 或 B inv(A),即 A 的逆矩阵右乘 B。D6A .B:表示 B 的每一个元素被 A 的对应元素除。D7A ./B:表示 A 的每一个元素被 B 的对应元素除。显然,A .B 与 A ./B的各对应元素互为倒数。读者可以思考一下,D6 .D7 等于什么?D8inv(A) :A 的逆矩阵。打开 M 文件编辑窗口,将上述命令依次键入,得到 fanli001 如下:参考程序 fanli001:矩阵的四则运算A=2 2 3;4 5 4;7 8 9 % 三阶矩阵输入B=1,3,5;6,-4,

10、2;3,5,1 % 三阶矩阵输入A1=2 4 6 %行向量A2=2;4;6 %列向量C=A;A1 %矩阵 A 增加一行C1=A A2 %矩阵 A 增加一列C2=A A1 %矩阵 A 增加一列D1=A+B %矩阵相加D2=A-B % 矩阵相减C3=A*B %矩阵与矩阵相乘C4=A.*B %矩阵的对应元素相乘D3=AB %A 的逆左乘 BD4=B/A %A 的逆右乘 BD6=A.B %B 的各元素被 A 的对应元素除D7=A./B %A 的各元素被 B 的对应元素除D8=inv(A) %A 的逆矩阵语句后面的%为语句说明符。MATLAB 中矩阵运算的其它主要命令可通过在线帮助获得。1-4 MATL

11、AB 的符号运算操作一、进入符号运算功能在命令窗口键入syms x y z t 此后,即可以使用 x,y ,z,t 等作自变量定义函数。syms x y z t real 规定所定义的变量为实型。二、代数方程求解使用命令 solve 可以求解代数方程,如求下例方程组的解,命令为03242yxx,y=solve(x2+x*y+y-3=0,x2-4*x-2*y+3=0)程序见范例程序 fanli002。参考程序 fanli002:代数方程求解syms x y %进入符号运算功能f1=x2+x*y+y-3 %函数 f1f2=x2-4*x-2*y+3 %函数 f2x,y=solve(x2+x*y+y-

12、3=0,x2-4*x-2*y+3=0)%求解方程组f1a=simplify(subs(f1) %用求解出的 x,y 检验方程 1f2a=simplify(subs(f2) %用求解出的 x,y 检验方程 2x=double(x) %将符号变量转换成浮点数y=double(y) %将符号变量转换成浮点数f1=subs(f1) %用浮点数 x,y 检验方程 1f2=subs(f2) %用浮点数 x,y 检验方程 2由 solve 求出的根是根的符号表达形式,是准确解。命令 simplify(f)表示化简,subs(f1)表示将求解出 x,y 代回 f1 中;double 是将符号变量转换成浮点数,

13、是准确解 x,y 的近似值。这从程序运行f1a=0,f2a=0 ,f1 0,f2 0 可以确认。三、符号矩阵运算符号矩阵可以和数值矩阵一样进行运算,例如:求矩阵特征值 eig,求矩阵的逆inv 等命令都支持符号运算。设tAsinco计算其特征值 eig(A),逆矩阵 inv(A),程序见 fanli003。参考程序 fanli003:符号矩阵的特征值syms t real %定义为实型变量A=sin(t) -cos(t);cos(t) sin(t) %定义矩阵 AB1=eig(A) %求矩阵 A 的特征值B1=simple(B1) %化简 A 的特征值表达式B2=inv(A) %求矩阵 A 的

14、逆矩阵B2=simple(B2) %化简 A 的逆矩阵表达式C1=A*B2 %检验 A 的逆矩阵C1=simple(C1) %C1 为单位矩阵注意函数的输入方法,自变量用圆括号括起来。四、微积分运算设函数 ,则 MATLAB 中微积分运算命令为)(xffiff(f):求函数 f 对自变量 x 的一阶导数;diff(f,2):求函数 f 对自变量 x 的二阶导数;int(f):求函数 f 的不定积分例 1.1,设 xfcos451试计算其一阶,二阶导数,积分运算,并作出函数图象,见范例 fanli004。参考程序 fanli004:函数的微分与积分syms xf=1/(5+4*cos(x)ezp

15、lot(f) %函数 f 的曲线f1=diff(f) %函数 f 的一阶导数figure,ezplot(f1) %函数 f 一阶导数的曲线f2=diff(f,2) %函数 f 的二阶导数figure,ezplot(f2) %函数 f 二阶导数的曲线g=int(int(f2) %函数 f 的二阶导数 f2 的二重积分figure,ezplot(g) %函数 f2 二重积分的曲线e=f-g %二阶导数的二重积分与原函数的差e=simple(e)figure,ezplot(e)程序中ezplot(f):作函数 的图形,x 的取值范围默认值为-2 x 2)(f 0 2 4 61 2 3 4 5 6 7

16、 8 9 1x s (x fanli004 的函数曲线 0 2 4 6 0 1 fanli004 的一阶导函数曲线 6 0 1x 5+4 s x3n x)s (x 2 s (x)fanli004 的二阶导函数曲线 0 2 4 6 0x-8 n (1/2 x)fanli004 的二阶导函数的二重积分曲线ezplot(f)是一个很有用的作图命令,它的其它应用形式,请查在线帮助。细心的读者会发现,一个函数求二阶导数后再对二阶导数进行二重积分,其结果与原函数相差一个常数。相当于纵坐标发生平移。第二章 系统的时域特性2-1 传递函数一、传递函数的两种形式传递函数通常表达成 s 的有理分式形式及零极点增益

17、形式。 denumsaGnjijmii01)(njjmiipszK1)()(设传递函数 2)(31ssG1有理分式形式分别将分子、分母中 s 多项式的系数按降幂排列成行矢量,缺项的系数用 0 补齐。上述函数可表示为num1=2 1 %(注意:方括号,同一行的各元素间留空格或逗号) 。den1=1 2 2 1syss1=tf(num1,den1)运行后,返回传递函数 的形式。这种形式不能直接进行符号运算!)(1sG2零极点增益形式Z,P,K = tf2zp(num1,den1)sys2 = zpk(Z,P,K)返回零、极点、增益表达式,其 Z,P 分别将零点和极点表示成列向量,若无零点或极点用

18、(空矩阵)代替。运行得到 的)(1sG点 Z = -0.5极点 P= -1 ,-0.5j0.866增益 K = 2指令 zp2tf(Z, P,K)将零极点增益变换成有理分式形式,见程序 fanli005。参考程序 fanli005:传递函数的有理分式及零极点增益模型num1=2 1 % 传递函数的分子系数向量den1=1 2 2 1 % 传递函数的分母系数向量sys1=tf(num1,den1) % 传递函数的有理分式模型Z,P,K=tf2zp(num1,den1) % 有理分式模型转换成零极点增益模型num2,den2=zp2tf(Z,P,K) % 零极点增益模型转换成有理分式模型sys2=

19、zpk(Z,P,K) % 传递函数的零极点增益模型A1,B1,C1,D1=tf2ss(num1,den1) % 有理分式模型转换成状态空间模型A2,B2,C2,D2=zp2ss(Z,P,K)% 零极点及增益模型转换成状态空间模型num1,den1=ss2tf(A1,B1,C1,D1)% 状态空间模型转换成有理分式模型Z,P,K=ss2zp(A2,B2,C2,D2) % 状态空间模型转换成零极点增益模型程序中,命令 tf2ss,zp2ss 及 ss2tf,ss2zp 是状态空间模型与有理分式及零、极点、增益模型之间的相互转换。二、传递函数框图的处理用框图可以方便地表示传递函数的并联,串联及反馈。

20、为简洁,仅以有理分式模型为例。1 并联sysp = parallel(sys1,sys2)num,den=parallel(num1,den1,num2,den2)2 串联syss = series(sys1,sys2)nums,dens = series(num1,den1,num2,den2)3 反馈sysc=feedback(syss,sys3,1) %默认值(-1)numc, denc = feedback(nums, dens, num3, den3)G1G1G1+G2G1(s) G2(s) G1(s)G2(s)G1(s) G2(s) G1(s)G2(s)1+G1(s)G2(s) G

21、3(s)G3(s)4 单位反馈sysd = feedback(syss, 1)numd, dend = feedback(nums, dens, 1, 1) %(单位反馈)上面给出了同一指令的两种形式,相当于两套平行指令。对于零极点增益形式,书写稍复杂一些,可先用 zpk 转换成系统形式,或用zp2tf 转折换成有理分式形式后再进行框图化简操作。三、简单函数的拉普拉斯变换在 MATLAB 的符号功能中,可以对简单函数进行拉普拉斯正、逆变换。拉氏正变换:laplace(f(t)拉氏逆变换:ilaplace(L(s)其中 为原函数, 为象函数。命令格式参见 fanli007。)(tf)(sL参考程

22、序 fanli007:拉普拉斯变换syms s t w a b cf1=sqrt(b-a)2+w2)/w*exp(-a*t)*sin(w*t+atan(w/(b-a)%原函数 f1L1=laplace(f1) %f1 的拉氏变换(象函数)L1=simple(L1) %化简f2=ilaplace(L1) %L1 的拉氏逆变换f2=simple(f2) %化简在 MATLAB 中使用 laplace 及 ilaplace 命令时,要注意象、原函数的符号,特别是对初相不等于零的振荡系统,运行结果常常同手册上的结果相差一个符号,这要注意函数表达式成立的条件。保险的办法是再使用拉氏变换的初值定理确定象、

23、原函数的符号。G1(s) G2(s) G1(s)G2(s)1+G1(s)G2(s) 2-2 系统时域特性曲线在 MATLAB 中,当传递函数已知时,可以方便地求出系统的单位脉冲响应、单位阶跃响应等曲线。一、系统的单位阶跃响应 stepstep 有以下几种格式step(sys):直接作出 sys 的单位阶跃响应曲线。其中 sys = tf(num, den) 或 sys = zpk(z, p, k),MATLAB 自动决定响应时间。step(sys, t)设定响应时间的单位阶跃响应。t 可以设定为最大响应时间 t = t 终值 (秒) ,也可以设置为一个向量t = 0 : t : t 终值注意冒

24、号的使用。它产生一个从 0 到 t 终值 的行矢量,元素之间的间隔为 t。step(sys1, sys2, , sysn)在同一幅图上画出几个系统的单位阶跃响应。y, t = step(sys);命令输出对应时刻 t 的各个单位阶跃响应值,不画图。语句后的分号控制数据的屏幕显示。如果要查看机器计算了多少个数据,可以使用命令size(y)得出的结果也表明数据作为列矢量的行数。要将计算出的y, t作成曲线,使用一般的作图命令plot(t, y)plot 后面跟的两个参数横坐标在前,纵坐标在后。参考程序见 fanli008:参考程序 fanli008:系统的单位阶跃响应num1=4 2den1=2

25、8 14 11 4sys1=tf(num1,den1) %系统 G1(s)num2=2 1den2=1 4 6 7 3sys2=tf(num2,den2) %系统 G2(s)y1,t1=step(sys1); %系统 G1(s)的单位阶跃响应数据y2,t2=step(sys2); %系统 G2(s)的单位阶跃响应数据step(sys1,sys2) %系统 G1(s)、G2(s)的单位阶跃响曲线figure,step(sys1,sys2,20) %系统 G1(s)、G2(s)在自选时间(20 秒)内的单位阶跃响曲线figure,plot(t1,y1) %系统 G1(s)的单位阶跃响应曲线figu

26、re,plot(t2,y2) %系统 G2(s)的单位阶跃响应曲线 e 0 2 4 6 8 fanli008:step(sys1,sys2,t)单位阶跃曲线二、系统的单位脉冲响应impulse 命令格式与单位阶跃响应 step 的命令格式完全相同,只需将语句中的step 用 impulse 代替即可。针对同样的系统,其单位脉冲响应的参考程序见fanli009。参考程序 fanli009:系统的单位脉冲响应num1=4 2den1=2 8 14 11 4sys1=tf(num1,den1)num2=2 1den2=1 4 6 7 3sys2=tf(num2,den2)y1,t1=impulse(

27、sys1); %系统 G1(s)的单位脉冲响应数据y2,t2=impulse(sys2); %系统 G2(s)的单位脉冲响应数据impulse(sys1,sys2) %系统 G1(s)、G2(s)的单位脉冲响应曲线figure,impulse(sys1,sys2,20)%系统 G1(s)、G2(s)在自选时间(20 秒)内的单位脉冲响应曲线figure,plot(t1,y1) %系统 G1(s)的单位脉冲响应曲线figure,plot(t2,y2) %系统 G2(s)的单位脉冲响应曲线hold on,step(sys2) %系统 G2(s)的单位阶跃和单位脉冲响应曲线 e 0 5 5 5 0

28、1 3 fanli009:impulse(sys1,sys2)单位脉冲响应曲线程序的最后一句 hold on 是当前图形保护模式。当要将新图形作在当前图形上时,必须使用 hold on。而 figure 的含意是另开一个新的图形窗口,如果不用 figure 或 hold on,则新的图形会占用原图形窗口,始终只保留一个最新的图形窗口。三、一阶系统及二阶系统的时域特性一阶系统及二阶系统是最基本也是最重要的系统,高阶系统总可以视为由若干个一阶和(或)二阶系统组合构成。1 一阶系统(设增益为 1) 1)(TsG影响系统特性的参数是其时间常数 T,T 越大,系统惯性越大,响应越慢。参考程序 fanli

29、010 给出了 T0.4, 1.2, 2.0, 2.8, 3.6, 4,4 六条单位阶跃响应曲线。参考程序 fanli010:一阶系统的单位阶跃响应曲线num=1;i=1;for del=0.1:0.2:1.1 %一阶系统时间常数递增间隔den=4*del 1; %一阶系统分母向量step(tf(num,den) %一阶系统单位阶跃响应曲线hold on, %不同时间常数的一阶系统单位阶跃响应曲线簇i=i+1;end同理,可以作出对应的单位脉冲响应曲线,参考程序 fanli011。参考程序 fanli011:一阶系统的单位脉冲响应曲线num=1;i=1; 1 2 3 4 5 6 7 8 9 f

30、anli010 一阶系统时间常数对单位阶跃响应的影响 e 0 1 2 3 4 5 6 7 8 9 05 15 25 fanli011 一阶系统时间常数对单位脉冲响应的影响for del=0.1:0.2:1.1den=4*del 1;impulse(tf(num,den),10) %一阶系统单位阶脉冲应曲线hold on, %不同时间常数的一阶系统单位脉冲响应曲线簇 i=i+1;end注意 MATLAB 中 for 语句的结构。读者可以改变不同的增益,看看图形有何变化。2 二阶系统(设 0 1)设二阶系统为 22)(nsG二阶系统的特征参数为固有频率 及阻尼比 。当 增大,系统振动频率加n快,振

31、荡加剧;而随着 减小,系统振荡加剧,振荡峰尖锐。参考程序 fanli012 示出了当 0.5, =1, 2, 3, 4, 5 rad/s 时的间接阶跃n曲线簇。参考程序 fanli012: 不同固有频率的二阶系统的单位阶跃响应曲线( =0.5)i=1;for del=1:1:5; % 二阶系统固有频率递增间隔num=del2; % 二阶系统传递函数分子系数向量den=1 del del2; % 不同固有频率的二阶系统分母系数向量step(tf(num,den),6) %二阶系统单位阶跃响应曲线hold on, %不同固有频率的二阶系统单位阶跃响应曲线簇i=i+1;ende e 0 1 2 3

32、4 5 60 1 fanli012 二阶系统固有频率对单位阶跃响应的影响参考程序 fanli013 示出了同一二阶系统的单位脉冲响应曲线簇。参考程序 fanli013: 不同固有频率的二阶系统的单位脉冲响应曲线( =0.5)i=1;for del=1:1:5;num=del2;den=1 del del2; % 不同固有频率的二阶系统分母系数向量impulse(tf(num,den),6) %二阶系统单位脉冲响应曲线hold on, %不同固有频率的二阶系统单位脉冲响应曲线簇i=i+1;end 0 1 2 3 4 5 6 0 1 2 3fanli013 二阶系统固有频率对单位脉冲响应的影响参考

33、程序 fanlio14 示出了当 1, 0.1,0.3,0.5,0.7,0.9 的二阶系统的n单位阶跃响应曲线簇。参考程序 fanli014: 不同阻尼比的二阶系统的单位阶跃响应曲线( =1)ni=1;for del=0.1:0.2:0.9; % 二阶系统阻尼比 递增间隔num=1;den=1 2*del 1; % 不同阻尼比的二阶系统分母系数向量step(tf(num,den),30)hold on, %不同阻尼比的二阶系统单位阶跃响应曲线簇i=i+1;ende e 0 5 e a 02 4 6 8 12 4 6 8 famli014 二阶系统阻尼比对单位阶跃响应的影响参考程序 fanli0

34、15 示出了同一二阶系统当 取 0.1,0.3,0.5,0.7,0.9 的单位脉冲响应曲线簇。参考程序 fanli015: 不同阻尼比的二阶系统的单位脉冲响应曲线( =1)ni=1;for del=0.1:0.2:0.9;num=1;den=1 2*del 1;impulse(tf(num,den),30)hold on, %不同阻尼比的二阶系统单位脉冲响应曲线簇i=i+1;end e 5 0 1fanli015 二阶系统阻尼比对单位脉冲响应的影响四、带延时环节系统的典型响应设具有纯延时环节的传递函数为 TseKsG1)(计算这种系统的单位阶跃响应不能使用一般方法。首先应使用 Pade 法对延

35、时环节 进行近似展开,TsenumT, dent = pade(T, 5) (表示使用 5 阶 Pade 级数)得出 的分子、分母系数的向量,然后将系统视为惯性环节与延迟环节的串联,Ts再求其阶跃脉冲响应。设 K = 2.5,T1,程序见 fanli016。参考程序 fanli016: 带延时环节系统的单位阶跃响应K=2.5;T=1; T1=0.5;numt,dent=pade(T,5);%5 阶 Pade 法近似延时环节syst=tf(numt,dent); %延时环节的近似传递函数num1=K;den1=T1 1;sys1=tf(num1,den1);%惯性环节sys=series(sys

36、1,syst);% 带延时环节的惯性系统step(sys,6),grid % 带延时环节惯性系统的单位阶跃响应figure,impulse(sys,6),grid% 带延时环节惯性系统的单位脉冲响应e 0 1 2 3 4 5 6 05 15 25 fanli016 带延迟的一阶系统的单位阶跃响应 e 0 3 4 5 6 01234fanli016 带延迟的一阶系统的单位脉冲响应从响应曲线上可见,具有延时环节的惯性系统当加上单位阶跃或单位脉冲输入前后,其响应初始有振荡特性,脉冲响应更为明显。这种振荡现象使得对这种系统进行校正需要使用特殊的方法。在作图命令后,加上格线命令 grid,机器自动给曲线

37、图加上格线。2-3 响应曲线的动态分析一、MATLAB 图形的编辑在 MATLAB 中,用于编辑图形的命令很多,因为可视化正是 MATLAB 的一种强大而优越的性能。从工程实用角度,仅在图形窗口进行编辑已经夠用了。在图形窗口顶部的第二排依次排有下列命令按钮:Edit Plot( ):图形编辑。点击进入图形编辑功能。点击选择编辑对象。例如,曲线,标题,纵、横坐标的说明等,可对选中项进行编辑。Insert Text( ):插入文本。点击可在图区内插入文字,并可选择字体及大小等。Insert Arrow( ):插入箭头。点击可在图区内画箭头,并可对该箭头进行编辑。Insert Line( ):插入直

38、线。点击可在图区内插入直线,并可对该直线进行编辑,改变线宽及颜色。Zoom In( ):曲线放大。激活该按钮,可以逐次放大曲线,以观察曲线某些部分的细节,这对观察变化剧烈的曲线部分很有帮助。Zoom Out( ):曲线缩小。激活该按钮,可以逐次从放大状态返回到原状态。Rotate 3D( ):三维旋转。激活该按钮,在图区内按住鼠标左键,拖曳鼠标,原二维曲线可三维空间内任意旋转。此外,还有平面旋转、三维动画、前后放大、平移、飞逸等。例如,将曲线加粗,以利作图(曲线默认宽度为 0.5) 。按 Edit Plot 选择曲线双击左键 出现线宽选择框(line width) 选择线宽 OK。二、对曲线进

39、行数据分析不激活 Edit Plot 按钮(图形编辑不使能) , 读取曲线上任一点的坐标值:鼠标指向选择点,单击左键,显示曲线编号,横坐标及纵坐标值; 研究曲线拟合情况:按 Tools Basic Fitting,出现 Plot fitt(图形拟合)窗口,选择需要拟合的曲线,点击拟合方式,即可对所选图形进行曲线拟合。MATLAB 提供了样条插值、保形插值( shape-preserving interpolant)及直到 10 阶的多项式拟合。当选择多项式拟合时,机器会给出曲线及拟合方程。在所给出的拟合方式中,三次样条插值(Cubic spline interpolant)及保形插值(shap

40、e-preserving interpolant)效果最好。第三章 系统的频率特性系统的频率特性就是 ,这是一个复变函数。)(jG3-1 MATLAB 中的复数及复变量在 MATLAB 中复数 x 的输入方法:x = 2 + 3*i 或 2 + 3*j也可以 s = 2 + 3i 或 s = 3 + 2j在符号运算功能下,复变函数表示为(设 a, b 都是实数):syms a b realx = ab*I 或 ab*j(*不能省略)在 MATLAB 中与复数有关的命令有abs(x):求实数的绝对值及复数的模,支持符号运算;angle(x):求复数的相角,单位为弧度,不支持符号运算。conj(x

41、):求复数的共轭复数,支持符号运算;imag(x):求复数的虚部,支持符号运算;real(x):求复数的实部,支持符号运算。复数的运算见参考程序 fanli017。参考程序 fanli017:复数运算(含符号功能)syms a b c d real %符号均为实变量X1=2-3i X2=a+c/b*jX3=c/a-2*d*jS1=X2*X3/X1 %复数的乘除S2=simple(abs(S1) %复数的模S3=simple(real(S1) %复数的实部S4=simple(imag(S1) %复数的虚部S5=simple(conj(S1) %复数的共轭S6=simple(expand(S1*S

42、5) %复数与其共轭的积S7=simple(S32+S42) %复数实部、虚部的平方和S8=simple(S6-S7) %检验复数运算的正确性fanli018 给出了系统 的频率特性。)14(6.05)(2sG参考程序 fanli018:系统频率特性的解析表达syms w real %定义频率 w 为实型变量g=50*(0.6*w*i+1)/(i*w)2/(4*w*j+1) %系统频率特性g1=simple(conj(g) %系统频率特性的复共轭gr=simple(real(g) %系统实频特性gi=simple(imag(g) %系统虚频特性ga=simple(abs(g) %系统幅频特性(模)gb=simple(sqrt(gr2+gi2) %系统幅频特性的另一计算方法gc=simple(ga-gb) %检验系统幅频特性的两种计算方法3-2 频率特性的 Nyquist 图将系统传递函数 中的复变数 s 用纯虚数 j( 为角频率,rad/s)代替,即)(sG得到系统的频率特性 , 又称为谐波传递函数,有三种表示方法:j)(j)()(jeAjvuG)(sin)()(cos)( jAj式中

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报