MATLAB程序设计-课件-第9章.ppt

上传人(卖家):三亚风情 文档编号:2776216 上传时间:2022-05-25 格式:PPT 页数:203 大小:2.10MB
下载 相关 举报
MATLAB程序设计-课件-第9章.ppt_第1页
第1页 / 共203页
MATLAB程序设计-课件-第9章.ppt_第2页
第2页 / 共203页
MATLAB程序设计-课件-第9章.ppt_第3页
第3页 / 共203页
MATLAB程序设计-课件-第9章.ppt_第4页
第4页 / 共203页
MATLAB程序设计-课件-第9章.ppt_第5页
第5页 / 共203页
点击查看更多>>
资源描述

1、MATLAB程序设计及应用程序设计及应用第第9章章 MATLAB在工程中的应用在工程中的应用 第第9章章 MATLAB在工程中的应用在工程中的应用 cc 由于由于MATLAB的使用非常方便,并且提供了数值计算、图形绘的使用非常方便,并且提供了数值计算、图形绘制、数据处理、图像处理等方面的强大功能,因此许多工程领域专制、数据处理、图像处理等方面的强大功能,因此许多工程领域专家在家在MATLAB的基础上为他们擅长的领域写了一些专用的应用程的基础上为他们擅长的领域写了一些专用的应用程序集,称之为工具箱(序集,称之为工具箱(Toolbox)。)。第第9章章 MATLAB在工程中的应用在工程中的应用 c

2、c MATLAB中含有丰富的专门用于控制系统分析与设计的函数,中含有丰富的专门用于控制系统分析与设计的函数,可以实现对线性系统的建模、时域或频域分析与设计,利用的是控可以实现对线性系统的建模、时域或频域分析与设计,利用的是控制系统工具箱中的各种算法程序,而这些算法程序大部分都是制系统工具箱中的各种算法程序,而这些算法程序大部分都是M函函数文件,可以直接调用。数文件,可以直接调用。9.1 MATLAB在自动控制中的应用在自动控制中的应用 9.1 MATLAB在自动控制中的应用在自动控制中的应用 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 控制系统的数学模型通

3、常是指动态数学模型。自动控制系统中最控制系统的数学模型通常是指动态数学模型。自动控制系统中最基本也是最重要的数学模型是微分方程,它反映了部件或系统的动基本也是最重要的数学模型是微分方程,它反映了部件或系统的动态运行规律。应用拉氏变换将线性微分方程转化为传递函数,以及态运行规律。应用拉氏变换将线性微分方程转化为传递函数,以及基于传递函数的图形化形式基于传递函数的图形化形式系统结构图,都是自动控制系统的系统结构图,都是自动控制系统的数学模型。数学模型。 MATLAB处理的是数组对象,而其控制系统工具箱处理的系统处理的是数组对象,而其控制系统工具箱处理的系统是线性时不变(是线性时不变(LTI)系统。

4、在)系统。在MATLAB中,可以用中,可以用4种数学模型种数学模型表示自动控制系统,其中前表示自动控制系统,其中前3种是用数学表达式描述。每种数学模种是用数学表达式描述。每种数学模型都有连续时间系统和离散时间系统两个类别。型都有连续时间系统和离散时间系统两个类别。MATLAB中的中的Simulink结构图是第结构图是第4种数学模型。种数学模型。 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 1. 控制系统数学模型的控制系统数学模型的MATLAB实现实现 LTI对象可以是连续时间系统,也可以是离散时间系统。对象可以是连续时间系统,也可以是离散时间系统。 连续时

5、间系统一般是由微分方程来描述的。而线性系统又是以线连续时间系统一般是由微分方程来描述的。而线性系统又是以线性微分方程来描述的。假设系统的输入、输出信号分别为性微分方程来描述的。假设系统的输入、输出信号分别为 和和 ,则系统的微分方程可写成则系统的微分方程可写成 (9.1)其中,其中, 和和 为常数。为常数。)(tu)(ty)(d)(dd)(dd)(d)(d)(dd)(dd)(d1112111121tubttubttubttubtyattyattyattyammmmmmnnnnnn) 1, 2 , 1(niai) 1, 2 , 1(mibi 9.1.1 控制系统数学模型及转换的控制系统数学模型及

6、转换的MATLAB实现实现 对应的传递函数定义为:在零初始条件下,系统输出量的拉氏变对应的传递函数定义为:在零初始条件下,系统输出量的拉氏变换换 与输入量的拉氏变换与输入量的拉氏变换 之比之比 (9.2))(sY)(sU)()()()()(11211121ssasasasabsbsbsbsUsYsGnnnnmmmmdennum 对于离散时间系统,常常以定常系数线性差分方程来描述。单输对于离散时间系统,常常以定常系数线性差分方程来描述。单输入单输出(入单输出(SISO)的)的LTI系统的差分方程为系统的差分方程为 (9.3)其中,其中, 和和 为常数。为常数。) 1, 2 , 1(niai) 1

7、, 2 , 1(mibi)() 1() 1()()() 1() 1()(121121kubkubmkubmkubkyakyankyankyammnn 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 对应的脉冲传递函数为对应的脉冲传递函数为 (9.4))()()()()(11211121zzazazazabzbzbzbzUzYzHnnnnmmmmdennum 无论是连续时间系统还是离散时间系统,传递函数的分子、分母无论是连续时间系统还是离散时间系统,传递函数的分子、分母多项式均按多项式均按 s或或z的降幂排列,都可以直接用分子、分母多项的降幂排列,都可以直接用分

8、子、分母多项式系数构成的两个向量式系数构成的两个向量num和和den表示系统,即表示系统,即 (9.5),121121nnmmaaaabbbbdennum 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 在在MATLAB中,分别用一维中,分别用一维“行行”数组(向量)表示完分子、数组(向量)表示完分子、分母多项式系数后,再利用控制系统工具箱的函数分母多项式系数后,再利用控制系统工具箱的函数tf就可以用一个就可以用一个变量表示传递函数模型。变量表示传递函数模型。tf函数的调用格式为函数的调用格式为sys=tf(num,den)sys=tf(num,den, T)

9、【说明说明】 在在第第1种格式中,输出宗量种格式中,输出宗量sys为连续时间系统的传递函数模型;为连续时间系统的传递函数模型;输入宗量输入宗量num和和den分别为系统的分子与分母多项式系数向量。分别为系统的分子与分母多项式系数向量。 在在第第2种格式中,输出宗量种格式中,输出宗量sys为离散时间系统的脉冲传递函数模为离散时间系统的脉冲传递函数模型;输入宗量型;输入宗量num和和den含义同上;含义同上;T为采样周期,当为采样周期,当T=-1或或T= 时,系统的采样周期未定义。时,系统的采样周期未定义。 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 需要注意

10、的是:需要注意的是:当多项式的某项系数为当多项式的某项系数为0时,千万不能忽略不写。时,千万不能忽略不写。如果忽略,多项式将降阶。如果忽略,多项式将降阶。 对于已知的传递函数模型,其分子与分母多项式系数向量可以分对于已知的传递函数模型,其分子与分母多项式系数向量可以分别用指令别用指令sys.num1和和sys.den1求出。求出。 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 如果连续时间系统的传递函数用系统零点、极点和增益来表示,如果连续时间系统的传递函数用系统零点、极点和增益来表示,称为系统的零极点增益模型,即有称为系统的零极点增益模型,即有 (9.6)

11、其中,其中,k为系统增益;为系统增益;-z1,-z2,-zm为系统零点;为系统零点;-p1,-p2,-pn为系统极点(下同)。为系统极点(下同)。)()()()()()()(2121nmpspspszszszsksUsYsG 离散时间系统的脉冲传递函数也可用系统零点、极点和增益来表离散时间系统的脉冲传递函数也可用系统零点、极点和增益来表示,有示,有 (9.7))()()()()()()(2121nmpzpzpzzzzzzzkzUzYzH 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 无论是连续时间系统还是离散时间系统,都可以直接用列向量无论是连续时间系统还是

12、离散时间系统,都可以直接用列向量z,p和和k构成的向量组来表示,即有构成的向量组来表示,即有 (9.8);2121kpppzzznmkpz 在在MATLAB中,中,用函数用函数zpk来建立控制系统的零极点增益模型。来建立控制系统的零极点增益模型。zpk函数的调用格式为函数的调用格式为sys=zpk(z, p, k)sys=zpk(z, p, k, T) 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现【说明说明】 第第1种格式中,输出宗量种格式中,输出宗量sys为连续系统的零极点增益模型;输入为连续系统的零极点增益模型;输入宗量宗量z,p和和k分别为系统的零点、

13、极点和增益。分别为系统的零点、极点和增益。 第第2种格式中,输出宗量种格式中,输出宗量sys为离散系统的零极点增益模型;输入为离散系统的零极点增益模型;输入宗量宗量z,p和和k含义同上;含义同上;T为采样周期,当为采样周期,当T=-1或或T= 时,系统的时,系统的采样周期未定义。采样周期未定义。 对于已知的零极点增益模型,其零点与极点系数向量及增益可以对于已知的零极点增益模型,其零点与极点系数向量及增益可以分别用指令分别用指令sys.z1,sys.p1和和sys.k求出。求出。 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 离散时间系统的脉冲传递函数模型还有

14、一种以离散时间系统的脉冲传递函数模型还有一种以 为因子的分子为因子的分子分母多项式的形式(即分母多项式的形式(即DSP形式),建立形式),建立DSP形式脉冲传递函数模形式脉冲传递函数模型的型的MATLAB函数为函数为filt,其调用格式为,其调用格式为sys=filt(num,den)sys=filt(num,den, T)【说明说明】 第第1种格式用来建立一个采样周期未指定的种格式用来建立一个采样周期未指定的DSP形式脉冲传递函形式脉冲传递函数。数。 第第2种格式用来建立一个采样周期指定为种格式用来建立一个采样周期指定为T的的DSP形式脉冲传递函形式脉冲传递函数。数。1z 连续连续LTI系统

15、的状态空间模型为系统的状态空间模型为 (9.9)其中,其中,u(t)是系统控制输入向量;是系统控制输入向量;x(t)是系统状态向量;是系统状态向量;y(t)是系统是系统输出向量;输出向量;A为系统矩阵(或称状态矩阵);为系统矩阵(或称状态矩阵);B为控制矩阵(或称为控制矩阵(或称输入矩阵);输入矩阵);C为输出矩阵(或称观测矩阵);为输出矩阵(或称观测矩阵);D为输入输出矩阵为输入输出矩阵(或称直接传输矩阵)。(或称直接传输矩阵)。)()()(t)(t)(t)tttDuCxyBuAxx 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 9.1.1 控制系统数学模

16、型及转换的控制系统数学模型及转换的MATLAB实现实现 离散时间系统的状态空间模型为离散时间系统的状态空间模型为 (9.10)其中,其中,u(k)、x(k)和和y(k)分别分别是离散时间系统的控制输入向量、系统是离散时间系统的控制输入向量、系统状态向量和系统输出向量;状态向量和系统输出向量;A,B,C和和D的含义同上;的含义同上;k表示采样点。表示采样点。 )()()()()() 1(kkkkkkDuCxyBuAxx 连续时间系统和离散时间系统的状态空间模型都可以直接用二维连续时间系统和离散时间系统的状态空间模型都可以直接用二维数组(即矩阵)组数组(即矩阵)组 表示。表示。,DCBA 9.1.

17、1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 在在MATLAB中,用函数中,用函数ss来建立控制系统的状态空间模型。来建立控制系统的状态空间模型。ss函数的调用格式为函数的调用格式为sys=ss(A, B, C, D)sys= ss(A, B, C, D, T)【说明说明】 第第1种格式中,输出宗量种格式中,输出宗量sys为连续时间系统的状态空间模型。为连续时间系统的状态空间模型。 第第2种格式中,输出宗量种格式中,输出宗量sys为离散时间系统的状态空间模型;为离散时间系统的状态空间模型;T为采样周期,当为采样周期,当T=-1或或T= 时,系统的采样周期未定义。时,

18、系统的采样周期未定义。 对于已知的状态空间模型,其参数矩阵对于已知的状态空间模型,其参数矩阵A,B,C和和D可以分别用指令可以分别用指令sys.a,sys.b,sys.c和和sys.d求出。求出。 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 【例例9.1】 将传递函数模型将传递函数模型输入到输入到MATLAB工作空间。工作空间。 编写编写M脚本文件脚本文件exam9_1.m如下:如下:2264220122412)(23423ssssssssG% exam9_1clearnum=12, 24, 12, 20;den=2, 4, 6, 2, 2;sys=tf(

19、num,den)% 获得系统的数学模型获得系统的数学模型 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现exam9_1.m的运行结果的运行结果【说明说明】 运行该程序后,运行该程序后,在在MATLAB的工的工作空间中可以看作空间中可以看到一个变量到一个变量 ,其值为一个其值为一个11的的传递函数。传递函数。 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现% exam9_2clearnum=1.6, -5.8, 3.9;den=1, -0.7, 2.4;sys=tf(num,den,0.1)sys1=filt(num,den,0

20、.1) 【例例9.2】已知二阶离散时间系统已知二阶离散时间系统的脉冲的脉冲传递函数为传递函数为 试求采样周期试求采样周期 时,系统脉冲传递函数的时,系统脉冲传递函数的DSP形式。形式。 编写编写M脚本文件脚本文件exam9_2.m如下:如下:4 . 27 . 09 . 38 . 56 . 1)(22zzzzzHsec1 . 0T 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现exam9_2.m的运行结果的运行结果 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现% exam9_3clearp=-1;-2;-3;-4; % 注意应

21、使用列向量注意应使用列向量z=-5;-2+2i;-2-2i; sys=zpk(z,p,6) 【例例9.3】将零极点增益模型将零极点增益模型输入到输入到MATLAB工作空间工作空间。 编写编写M脚本文件脚本文件exam9_3.m如下:如下:) 1)(2)(3)(4()2 j2)(2 j2)(5(6)(ssssssssG 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现exam9_3.m的运行结果的运行结果【说明说明】 在在MATLAB的零极点增益模型的零极点增益模型显示中,如果有复数零极点存在,显示中,如果有复数零极点存在,则用二阶多项式来表示两个因式,则用二阶多

22、项式来表示两个因式,而不直接展开成一阶复数因式。而不直接展开成一阶复数因式。 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 不一定非要有用数学表达式描述的数学模型,才能对系统进行研不一定非要有用数学表达式描述的数学模型,才能对系统进行研究。究。MATLAB中特有的另外一种数学模型就是中特有的另外一种数学模型就是Simulink模型窗(叫模型窗(叫做做“untitled”窗)里的动态结构图。只要在窗)里的动态结构图。只要在Simulink工作窗里,按工作窗里,按其规则(参见第其规则(参见第8章)画出动态结构图,就是对系统建立了数学模章)画出动态结构图,就是对系

23、统建立了数学模型。再按规则将结构图的参数用实际系统的数据进行设置,就可以型。再按规则将结构图的参数用实际系统的数据进行设置,就可以直接、方便地对系统进行各种仿真。直接、方便地对系统进行各种仿真。 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 2. LTI对象模型之间的相互转换对象模型之间的相互转换 LTI对象模型之间的相互转换是指连续时间系统(或离散时间系对象模型之间的相互转换是指连续时间系统(或离散时间系统)的传递函数模型、零极点增益模型和状态空间模型之间的相互统)的传递函数模型、零极点增益模型和状态空间模型之间的相互转换。直接应用函数转换。直接应用函数t

24、f,zpk和和ss即可以完成。需要指出的是,此类即可以完成。需要指出的是,此类转换从理论上讲是不存在转换误差的。转换从理论上讲是不存在转换误差的。 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 【例例9.4】 已知系统的状态空间模型已知系统的状态空间模型求其等效的传递函数模型和零极点增益模型。求其等效的传递函数模型和零极点增益模型。 编写编写M脚本文件脚本文件exam9_4.m如下:如下:)(321)()(402)(05. 09 . 85 . 101 . 0105. 01 . 03 . 0)(ttytuttxxx % exam9_4clearA=0.3, 0

25、.1, 0.05; 1, 0.1, 0; 1.5, 8.9, 0.05;B=2; 0; 4; C=1, 2, 3; D=0;sys_ss=ss(A,B,C,D);sys_tf=tf(sys_ss)sys_zpk=zpk(sys_tf)exam9_4.m的运行结果的运行结果 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 即传递函数模型为即传递函数模型为)432. 05545. 0)(005. 1()704. 35786. 0(14434. 0125. 045. 085.511 . 814)(22232sssssssssssG 9.1.1 控制系统数学模型及转换

26、的控制系统数学模型及转换的MATLAB实现实现 3. 连续时间模型与离散时间模型之间的相互转换连续时间模型与离散时间模型之间的相互转换 MATLAB的控制系统工具箱还提供实现连续时间系统和离散时的控制系统工具箱还提供实现连续时间系统和离散时间系统之间相互转换的函数。这些函数对于传递函数模型、零极点间系统之间相互转换的函数。这些函数对于传递函数模型、零极点增益模型和状态空间模型均适用。需要指出的是,此类转换从理论增益模型和状态空间模型均适用。需要指出的是,此类转换从理论上讲是存在转换误差的。上讲是存在转换误差的。 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现

27、如果有连续时间系统模型如果有连续时间系统模型sysc,将其转换为离散时间系统模型,将其转换为离散时间系统模型的指令格式为的指令格式为sysd=c2d(sysc, T, method)【说明说明】 输出宗量输出宗量sysd为转换后离散时间模型对象;输入宗量为转换后离散时间模型对象;输入宗量sysc为连续为连续时间模型对象;时间模型对象;T为采样周期,单位为为采样周期,单位为sec;method用来指定离散用来指定离散化采用的方法(缺省时,化采用的方法(缺省时,method=zoh):):zoh 采用零阶保持器;采用零阶保持器;foh 采用一阶保持器;采用一阶保持器;imp采用脉冲响应不变法;采用

28、脉冲响应不变法;tustin 采用双线性变换法(采用双线性变换法(Tustin法)法)prewarp 采用改进的采用改进的Tustin法;法;matched 采用采用SISO系统的零极点根匹配法。系统的零极点根匹配法。 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 如果有离散时间系统模型如果有离散时间系统模型sysd,将其转换为连续时间系统模型,将其转换为连续时间系统模型的指令格式为的指令格式为sysc=d2c(sysd, method)【说明说明】 输出宗量输出宗量sysc为转换后连续时间模型对象;输入宗量为转换后连续时间模型对象;输入宗量sysd为离散为

29、离散时间模型对象;时间模型对象;method用来指定离散化采用的方法(缺省时,用来指定离散化采用的方法(缺省时,method=zoh):):zoh 采用零阶保持器;采用零阶保持器;tustin 采用双线性变换法(采用双线性变换法(Tustin法)法)prewarp 采用改进的采用改进的Tustin法;法;matched 采用采用SISO系统的零极点根匹配法。系统的零极点根匹配法。 在该函数调用中无需再申明采样周期信息,因为该信息已包含在在该函数调用中无需再申明采样周期信息,因为该信息已包含在离散模型离散模型sysd中。中。 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLA

30、B实现实现 【例例9.5】 已知连续系统的传递函数模型为已知连续系统的传递函数模型为试分别对系统采用零阶保持器和双线性变换法求其离散化状态空间试分别对系统采用零阶保持器和双线性变换法求其离散化状态空间模型(设采样周期模型(设采样周期T=1sec)。)。 编写编写M脚本文件脚本文件exam9_5.m如下:如下:231)(2sssG% exam9_5clearnum=1;den=1,3,2;sys_continuous=tf(num,den);t=1;% 将连续传递函数转换成脉冲传递函数(将连续传递函数转换成脉冲传递函数(zoh)disp(Discrete System-using c2d wit

31、h zoh)sys_discrete_zoh=c2d(sys_continuous,t); % 将脉冲传递函数转换成状态空间模型将脉冲传递函数转换成状态空间模型sys_zoh=ss(sys_discrete_zoh) % 采用双线性变换法采用双线性变换法 disp(Discrete System-using c2d with tustin) sys_discrete_tustin=c2d(sys_continuous,t,tustin); sys_tustin=ss(sys_discrete_tustin) 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 9.

32、1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现exam9_5.m的运行结果(上半部)的运行结果(上半部)Discrete System-using c2d with zoha = x1 x2 x1 0.5032 -0.1991 x2 0.25 0 b = u1 x1 0.5 x2 0c = x1 x2 y1 0.3996 0.588 d = u1 y1 0 Sampling time: 1Discrete-time model. 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现exam9_5.m的运行结果(下半部)的运行结果(下半部

33、)Discrete System-using c2d with tustina = x1 x2 x1 0.3333 0 x2 1 0 b = u1 x1 0.5 x2 0c = x1 x2 y1 0.3889 0.1667d = u1 y1 0.08333 Sampling time: 1Discrete-time model. 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 即采用零阶保持器和双线性变换法的离散化状态空间模型分别为即采用零阶保持器和双线性变换法的离散化状态空间模型分别为)(588. 03996. 0)()(05 . 0)()(025. 019

34、91. 05032. 0) 1() 1(2121kkykukxkxkxkxx)(08333. 0)(0.16670.3889)()(05 . 0)()(0103333. 0) 1() 1(2121kukkykukxkxkxkxx 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 4. 环节方框图模型的化简环节方框图模型的化简 自动控制系统是由被控对象与控制装置组成的,即系统有多个环自动控制系统是由被控对象与控制装置组成的,即系统有多个环节,每个环节又是由多个元件构成的。环节在节,每个环节又是由多个元件构成的。环节在MATLAB中又叫做中又叫做模块。自动控制的对象

35、可以是一个元件,一个环节,也可以是一个模块。自动控制的对象可以是一个元件,一个环节,也可以是一个模块,一个装置,甚至是一个系统。这要根据讨论问题的实际情况模块,一个装置,甚至是一个系统。这要根据讨论问题的实际情况来确定。系统方框图的化简同样适用于环节的、模块的、装置的方来确定。系统方框图的化简同样适用于环节的、模块的、装置的方框图模型的化简。框图模型的化简。 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 环节串联是指一个环节的输出为相邻的下一个环节的输入,其余环节串联是指一个环节的输出为相邻的下一个环节的输入,其余依此类推(图依此类推(图9.1为两个环节串联

36、)。将串联的多个环节的传递函数为两个环节串联)。将串联的多个环节的传递函数方框依次串联画出即成为系统方框图模型。控制系统的环节串联及方框依次串联画出即成为系统方框图模型。控制系统的环节串联及其化简就是模块方框图模型的串联及其化简。其化简就是模块方框图模型的串联及其化简。图图9.1 当当n个模块方框图模型个模块方框图模型sys1,sys2,sysn串联连接时,其串联连接时,其等效的方框图模型为:等效的方框图模型为:sys=sys1*sys2*sysn。 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 当当n个模块方框图模型个模块方框图模型sys1,sys2,sy

37、sn并联连接时,其并联连接时,其等效的方框图模型为:等效的方框图模型为:sys=sys1sys2sysn(取(取“+”或或“-”由系统结构图决定)。由系统结构图决定)。 环节并联是指多个环节的输入信号相同,所有环节输出的代数和环节并联是指多个环节的输入信号相同,所有环节输出的代数和为其总输出。两个环节的并联如图为其总输出。两个环节的并联如图9.2所所示。示。图图9.2 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 MATLAB中的函数中的函数feedback可以将两个环节反馈连接后求其等可以将两个环节反馈连接后求其等效传递函数。效传递函数。feedback函

38、数的调用格式为函数的调用格式为sys=feedback(sys1,sys2,sign)【说明说明】 feedback函数将两个环节按反馈方式连接起来;函数将两个环节按反馈方式连接起来;sys1为图为图9.3中中的的G(s);sys2为为H(s)(单位反馈时,(单位反馈时,sys2=1,且不能省略);,且不能省略);sign是反馈极性(缺省时,默认为负反馈,即是反馈极性(缺省时,默认为负反馈,即sign=-1)。)。 两个环节的反馈连接如图两个环节的反馈连接如图9.3所示。所示。 图图9.3 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 【例例9.6】 图图9

39、.4是晶闸管是晶闸管直流电机转速负反馈单闭环调速系统直流电机转速负反馈单闭环调速系统的系统方框图,求系统的闭环传递函数。的系统方框图,求系统的闭环传递函数。图图9.4 编写编写M脚本文件脚本文件exam9_6.m如下:如下: 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现% exam9_6clearn1=1; d1=0.017,1; s1=tf(n1,d1);n2=1; d2=0.075,0; s2=tf(n2,d2);s=s1*s2;sys1=feedback(s,1); % 求小闭环的传递函数求小闭环的传递函数n3=0.049,1; d3=0.088,0;

40、 s3=tf(n3,d3);n4=44; d4=0.00167,1; s4=tf(n4,d4);n5=1; d5=0.01925; s5=tf(n5,d5); % 比例环节也要写成分子、分母多项式形式比例环节也要写成分子、分母多项式形式n6=0.01178; d6=1; s6=tf(n6,d6); sysq=sys1*s3*s4*s5;sys=feedback(sysq,s6) 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现exam9_6.m的运行结果的运行结果 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 5. 利用利用S

41、imulink模型求取系统的数学模型模型求取系统的数学模型 将将Simulink模型和编程相结合,可以直接求出系统的数学模型模型和编程相结合,可以直接求出系统的数学模型。 【例例9.7】 对于图对于图9.4晶闸管晶闸管直流电机转速负反馈单闭环调速系直流电机转速负反馈单闭环调速系统的系统方框图,利用统的系统方框图,利用Simulink模型求其闭环传递函数。模型求其闭环传递函数。图图9.4 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 (1)建模的基本思路)建模的基本思路 本例的系统数学模型是通过形象直观的方框图和各环节的传递函本例的系统数学模型是通过形象直观的

42、方框图和各环节的传递函数给出的。这特别便于用数给出的。这特别便于用Simulink的传递函数模块建模。的传递函数模块建模。 (2)构造)构造“用于系统传递函数计算用于系统传递函数计算”的的Simulink模型模型 根据题给方框图和各环节的具体传递函数构造根据题给方框图和各环节的具体传递函数构造Simulink模型模型(exam9_7_mdl.mdl),如图),如图9.5所示。所示。图图9.5 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现 (3)系统传递函数的获取)系统传递函数的获取 编写编写M脚本文件脚本文件exam9_7.m如下:如下:% exam9_7c

43、learA,B,C,D=linmod2(exam9_7_mdl); % 从从Simulink模型得到状态空间模型模型得到状态空间模型sys_tf=tf(ss(A,B,C,D) % 将状态空间模型转化为传递函数模将状态空间模型转化为传递函数模型型 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现exam9_7.m的运行结果的运行结果 9.1.1 控制系统数学模型及转换的控制系统数学模型及转换的MATLAB实现实现【说明说明】 函数函数linmod2用于获取系统的线性化模型。用于获取系统的线性化模型。本例获得的传递函数模型不一定是状态空间模型的最小实现。如本例获得的

44、传递函数模型不一定是状态空间模型的最小实现。如果要得到最小实现的传递函数模型,则最后一条指令应改为:果要得到最小实现的传递函数模型,则最后一条指令应改为:sys_tf=tf(minreal(ss(A,B,C,D)其中,函数其中,函数minreal用于去除用于去除相消零极点对应的状态变量。相消零极点对应的状态变量。 本例所得结果与本例所得结果与【例例9.6】所得的计算结果在形式上不一样。这是所得的计算结果在形式上不一样。这是因为因为MATLAB自动对分母多项式的最高项系数进行了自动对分母多项式的最高项系数进行了“标幺化标幺化”处理。事实上,如果将处理。事实上,如果将【例例9.6】所得的计算结果的

45、各项系数同时除所得的计算结果的各项系数同时除以以3.607e-9,则与本例结果完全相同。,则与本例结果完全相同。9.1 MATLAB在自动控制中的应用在自动控制中的应用 9.1.2 控制系统时域响应的控制系统时域响应的MATLAB实现实现控制系统时域响应的控制系统时域响应的MATLAB数值解方法有两种:一种是在数值解方法有两种:一种是在MATLAB的函数方式下进行;另一种是利用的函数方式下进行;另一种是利用Simulink动态结构图进动态结构图进行时域仿真(参见第行时域仿真(参见第8章)。章)。 1. 线性系统的阶跃响应和脉冲响应线性系统的阶跃响应和脉冲响应 利用利用MATLAB所提供的求取系

46、统的单位阶跃响应函数所提供的求取系统的单位阶跃响应函数step和和dstep,单位脉冲响应函数,单位脉冲响应函数impulse和和dimpulse,可以求出其对应,可以求出其对应的响应。的响应。 9.1.2 控制系统时域响应的控制系统时域响应的MATLAB实现实现 step函数的调用格式为函数的调用格式为step(sys)step(sys,t)y,t=step(sys)y,t,x=step(sys)【说明说明】 LTI对象的对象的sys可以是由函数可以是由函数tf,zpk和和ss中任何一个建立的中任何一个建立的连续连续时间系统模型时间系统模型。 9.1.2 控制系统时域响应的控制系统时域响应的

47、MATLAB实现实现 第第1种格式为无输出宗量的格式,函数在当前图形窗中直接绘制出种格式为无输出宗量的格式,函数在当前图形窗中直接绘制出系统的单位阶跃响应曲线。系统的单位阶跃响应曲线。 第第2种格式用于计算系统的单位阶跃响应并绘制出对应的曲线。其种格式用于计算系统的单位阶跃响应并绘制出对应的曲线。其中,中,t可以指定为一个仿真终止时间,此时可以指定为一个仿真终止时间,此时t为一标量;也可以设置为一标量;也可以设置为一个时间向量(例如,用指令为一个时间向量(例如,用指令t=0:dt:Tfinal);函数中的);函数中的t也可以也可以没有。对于离散系统阶跃响应函数没有。对于离散系统阶跃响应函数ds

48、tep,时间间隔,时间间隔dt必须与采样必须与采样周期匹配周期匹配 。 第第3种格式为带有输出宗量引用的函数,计算系统单位阶跃响应的种格式为带有输出宗量引用的函数,计算系统单位阶跃响应的输出数据,而不绘制曲线。输出宗量输出数据,而不绘制曲线。输出宗量y为系统的响应向量,为系统的响应向量,t为取积为取积分值的时间向量。分值的时间向量。 9.1.2 控制系统时域响应的控制系统时域响应的MATLAB实现实现 第第4种格式为带有输出宗量引用的函数,计算系统单位阶跃响应的种格式为带有输出宗量引用的函数,计算系统单位阶跃响应的输出数据,而不绘制曲线。输出宗量输出数据,而不绘制曲线。输出宗量y为系统的响应向

49、量,为系统的响应向量,t为取积为取积分值的时间向量,分值的时间向量,x为系统的状态轨迹数据。需要注意的是:输出为系统的状态轨迹数据。需要注意的是:输出宗量宗量y,t,x三个元素的顺序不能错。这种格式通常用于以函数三个元素的顺序不能错。这种格式通常用于以函数ss建建立的系统模型。立的系统模型。 如果想同时绘制出多个系统的阶跃响应曲线,则可以仿照如果想同时绘制出多个系统的阶跃响应曲线,则可以仿照plot 指指令给出系统阶跃响应指令,例如,令给出系统阶跃响应指令,例如,step(sys1, - ,sys2, -. ,sys3, :r )。 上述上述4种格式离散系统阶跃响应函数种格式离散系统阶跃响应函

50、数dstep同样适用。同样适用。 单位脉冲响应函数单位脉冲响应函数impulse和和dimpulse的调用格式相同。的调用格式相同。 9.1.2 控制系统时域响应的控制系统时域响应的MATLAB实现实现 【例例9.8】 单位反馈系统前向通道的传递函数为单位反馈系统前向通道的传递函数为试作出其单位阶跃响应曲线。试作出其单位阶跃响应曲线。 编写编写M脚本文件脚本文件exam9_8.m如下:如下:sssG280)(2% exam9_8clearsys_tf=tf(80,1,2,0);closys=feedback(sys_tf ,1);step(closys) 9.1.2 控制系统时域响应的控制系统

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(MATLAB程序设计-课件-第9章.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|