第二章 控制系统 MATLAB 应用

31
过过过过过

description

第二章 控制系统 MATLAB 应用. 一、 MATLAB 简介 二、 MATLAB 基本操作 三、 控制系统的数学模型的 MATLAB 描述 四、 MATLAB 应用实训. 第二章 控制系统 MATLAB 应用. 一、 MATLAB 简介 二、 MATLAB 的基本语句结构. 第一节 MATLAB 简介. MATLAB 的含义是矩阵实验室 (MATrix LABoratory), 它是一套用于数值计算的高性能可视化软件。. 一、 MATLAB 简介. 1. 什么是 MTALAB. 2.MTALAB 的功能和特点. 数值计算功能. 符号计算功能. - PowerPoint PPT Presentation

Transcript of 第二章 控制系统 MATLAB 应用

Page 1: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

Page 2: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

第二章 控制系统第二章 控制系统 MATLABMATLAB 应应用用

一、 MATLAB 简介

二、 MATLAB 基本操作

三、控制系统的数学模型的 MATLAB 描述

四、 MATLAB 应用实训

Page 3: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

一、 MATLAB 简介 二、 MATLAB 的基本语句结构

一、 MATLAB 简介 二、 MATLAB 的基本语句结构

第一节 MATLAB 简介第一节 MATLAB 简介

Page 4: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

MATLAB 的含义是矩阵实验室 (MATrix LABoratory), 它是一套用于数值计算的高性能可视化软件。

1.1. 什么是什么是 MTALABMTALAB

一、 MATLAB 简介

2.MTALAB2.MTALAB 的功能和特点的功能和特点

功能和特点功能和特点

数值计算功能数值计算功能

符号计算功能符号计算功能

数据分析和可视化功能数据分析和可视化功能文字处理功能文字处理功能SimulinkSimulink 动态仿真功能动态仿真功能

Page 5: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

3. MATLAB3. MATLAB 工具箱工具箱 1 )控制系统工具箱 2 )系统辨识工具箱 3 )多变量频率设计工具箱 4 )神经网络工具箱 5 )信号处理工具箱 6 )模糊推理系统工具箱

Page 6: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

4.MATLAB4.MATLAB 的工作环境的工作环境

MATLAB 语言的全部功能都是在 MATLAB 的工作环境中实现的。启动 MATLAB 后,操作界面如图 2—1 所示。

MATLAB 语言的全部功能都是在 MATLAB 的工作环境中实现的。启动 MATLAB 后,操作界面如图 2—1 所示。

图 2-1 MATLAB 操作界面图 2-1 MATLAB 操作界面

Page 7: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

二、 二、 MATLABMATLAB 的基本语句结构的基本语句结构

变量由变量名表示,变量的命名是以字母开头,后接字母、数字或下划线的字符串,最多 31 个字符,且区分大小写。

1.1. 变变量量

2.2. 运算运算符符

Page 8: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

4 3

5 6

2 1

3 4

例 2—1 A= , B=

解 :在命令窗口中输入矩阵 A和 B,并计算其 C=A+B, D=A-B, E=A*B。 >> A=[4 3 ;5 6];>> B=[2 1;3 4];>> C=A+BC = 6 4 8 10>> D=A-BD = 2 2 2 2>> E=A*BE = 17 16 28 29

,求这 2 个矩阵的相加、相减、相乘运算。

Page 9: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

MATLAB 采用命令形式的表达式语句,每一个命令行就是一个语句。 MATLAB 的语句有 2 种形式:

1)1) 表达式表达式2)2) 变量变量 == 表达式表达式表达式由变量名、常数、函数和运算符构成。如下面

的表达式都是合法的表达式。例如:例如:3*sin(2*x)

2*a+c*d

3.3. 表达式表达式

Page 10: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

第二节 第二节 MATLABMATLAB 基本操作基本操作

一、 MATLAB 基本命令

二、 MATLAB 文件基础

一、 MATLAB 基本命令

二、 MATLAB 文件基础

Page 11: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

一、 一、 MATLABMATLAB 基本命令基本命令

1. 文件管理

表 2—6 MATLAB 的文件管理命令命令命令 注释注释 命令命令 注释注释

clcclc 清除命令窗口清除命令窗口 existexist 检查可能存在的变量或文件检查可能存在的变量或文件

formatformat 设置输出数据的显示格式设置输出数据的显示格式 cdcd 改变工作目录改变工作目录

matlabmatlab 启动启动 matlabmatlab deletedelete 删除文件或图形对象删除文件或图形对象

helphelp 在命令窗口中现实函数的帮助信在命令窗口中现实函数的帮助信息息

dirdir 显示目录列表显示目录列表

lookforlookfor 搜索指定的关键词搜索指定的关键词 matlabrootmatlabroot 返回返回 MATLABMATLAB安装的根目录安装的根目录

clearclear 清除工作空间,释放系统内存清除工作空间,释放系统内存 pwdpwd 现实当前目录现实当前目录

who,whoswho,whos 列出工作空间变量列出工作空间变量 whatwhat 列出当前目录下的指定文件列出当前目录下的指定文件

Page 12: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

“将矩阵的元素用 [ ]”括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分割,行与行之间用分号或 Enter隔开。

2.2. 矩阵运矩阵运算算

3.3. 数学函数学函数数命令命令 注释注释 命令命令 注释注释

sinsin 正弦正弦 loglog 自然对数自然对数 coscos 余弦余弦 log2log2 以以 22为底的对数为底的对数tantan 正切正切 log10log10 以以 1010为底的对数为底的对数 cotcot 余切余切 signsign 符号函数符号函数asinasin 反正弦反正弦 sqrtsqrt 平方根平方根 acosacos 反余弦反余弦 absabs 绝对值绝对值expexp 以以 ee为底的指数为底的指数 imagimag 复数的虚部复数的虚部

Page 13: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

nnnnn axaLxaxaxaxp

12

21

10)( nnnnn axaLxaxaxaxp

12

21

10)(

0 1 2 1[ , , , ]n np a a a a a L0 1 2 1[ , , , ]n np a a a a a L

MATLABMATLAB使用行向量来表示多项式的系数,行向量使用行向量来表示多项式的系数,行向量中各元素按照多项式项的次数从高到低排列中各元素按照多项式项的次数从高到低排列 ,,对于多项式对于多项式

可以用行向量来表示。可以用行向量来表示。

4.4. 多项式运多项式运算算

注意:对于系数为注意:对于系数为 00的项,必须用的项,必须用 00填充。填充。

Page 14: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

5. 5. 图形绘制图形绘制表 2-10 MATLAB 的绘图和图形修饰命令

命令命令 注释注释 命令命令 注释注释

plotplot 绘制直角坐标二维连续绘制直角坐标二维连续曲线图形曲线图形

texttext 加文本坐标加文本坐标

stemstem 绘制二维离散序列线型绘制二维离散序列线型图图

gtextgtext 用鼠标标注文字用鼠标标注文字

stairsstairs 绘制阶梯图绘制阶梯图 titletitle 加图形标题加图形标题

barbar 垂直直方图垂直直方图 xlabelxlabel 标注标注 XX轴坐标轴坐标

ezplotezplot 绘制符号函数图形绘制符号函数图形 ylabelylabel 标注标注 YY轴坐标轴坐标

axisaxis 改变坐标轴状态改变坐标轴状态 subplotsubplot 图形窗口分割图形窗口分割

gridgrid 网格线开关网格线开关 plot3plot3 绘制三维曲线绘制三维曲线

Page 15: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

第三节 控制系统的数学模型第三节 控制系统的数学模型的的 MATLABMATLAB 描述描述

一、传递函数描述一、传递函数描述一、传递函数描述一、传递函数描述

二、环节组合二、环节组合二、环节组合二、环节组合

三、结构图描述及转换三、结构图描述及转换三、结构图描述及转换三、结构图描述及转换

Page 16: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

一、传递函数描述一、传递函数描述

1.1.微分方程形式微分方程形式

( ) ( 1) ( )0 1 1 0

n n mn n ma y a y a y a y b u b u L L

( ) ( 1) ( )0 1 1 0

n n mn n ma y a y a y a y b u b u L L

22 .传递函数形式.传递函数形式

0 1

0 1

( )( )

( )

mm m

nn n

b s b s bY sG s

U s a s a s a

LL

0 1

0 1

( )( )

( )

mm m

nn n

b s b s bY sG s

U s a s a s a

LL

Page 17: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

二、环节组合二、环节组合

Ksu

sysG

)(

)()( K

su

sysG

)(

)()(

1)(

)()(

TS

K

su

sysG

1)(

)()(

TS

K

su

sysG

STsu

sysG

i

1

)(

)()(

STsu

sysG

i

1

)(

)()(

1.比例环节

2.惯性环节

3. 积分环节

STsu

sysG d

)(

)()( ST

su

sysG d

)(

)()(

4. 微分环节

Page 18: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

三、结构图描述及转换三、结构图描述及转换

1.1. 串联结构的等效变换串联结构的等效变换

2.2. 并联结构的等效变换并联结构的等效变换

Page 19: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

3.3. 反馈连接的等效变换反馈连接的等效变换

Page 20: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

第四节 MATLAB 应用实训第四节 MATLAB 应用实训

一、时域表达式与传递函数转换

二、结构图等效变换

三、对温度控制系统进行 MATLAB 仿真

Page 21: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

1.1. 用用 MATLABMATLAB 求时域表达式的拉氏变换求时域表达式的拉氏变换( )xs laplace xt

1( ) sin(2 ) ( )x t t u t 22 ( ) ( )tx t e u t例 2—12 求 和

解解 :M:M文件如下文件如下 ::

syms t ; %syms t ; %指定指定 tt为符号变为符号变

量量

x1t=sin(2*t)x1t=sin(2*t)

subplot(2,2,1);ezplot(x1t)subplot(2,2,1);ezplot(x1t)

x2t=exp(-2 * t)x2t=exp(-2 * t)

解解 :M:M文件如下文件如下 ::

syms t ; %syms t ; %指定指定 tt为符号变为符号变

量量

x1t=sin(2*t)x1t=sin(2*t)

subplot(2,2,1);ezplot(x1t)subplot(2,2,1);ezplot(x1t)

x2t=exp(-2 * t)x2t=exp(-2 * t)

的拉氏变换。

一、时域表达式与传递函数转换一、时域表达式与传递函数转换

subplot(2,2,2);ezplot(x2t)subplot(2,2,2);ezplot(x2t)

x1s=laplace(x1t)x1s=laplace(x1t)

subplot(2,2,3);ezplot(x1subplot(2,2,3);ezplot(x1s)s)

x2s=laplace(x2t)x2s=laplace(x2t)

subplot(2,2,4);ezplot(x2subplot(2,2,4);ezplot(x2s)s)

subplot(2,2,2);ezplot(x2t)subplot(2,2,2);ezplot(x2t)

x1s=laplace(x1t)x1s=laplace(x1t)

subplot(2,2,3);ezplot(x1subplot(2,2,3);ezplot(x1s)s)

x2s=laplace(x2t)x2s=laplace(x2t)

subplot(2,2,4);ezplot(x2subplot(2,2,4);ezplot(x2s)s)

Page 22: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

输出结果输出结果 : : x1t =sin(2*t)x1t =sin(2*t)x2t = exp(-2*t)x2t = exp(-2*t)x1s =2/(s^2+4)x1s =2/(s^2+4)x2s =1/(s+2)x2s =1/(s+2)

Page 23: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

2.2. 用用 MATLABMATLAB 求解信号的拉氏逆变换求解信号的拉氏逆变换

1( ) arctan( )X s

s

解解 :M:M文件如下文件如下 ::syms s; %syms s; %指定指定 ss为符号变为符号变

量量xs=atan(1/s) %atanxs=atan(1/s) %atan为反正切为反正切

函数函数 subplot(2,1,1);ezplot(xs)subplot(2,1,1);ezplot(xs)xt=ilaplace(xs)xt=ilaplace(xs)subplot(2,1,2);ezplot(xt)subplot(2,1,2);ezplot(xt)

( )xt ilaplace xs例 2—13 求下列复频域函数的拉氏逆变换

Page 24: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

输出结果为输出结果为xs = atan(1/s)xs = atan(1/s)xt =1/t*sin(t)xt =1/t*sin(t)

sin( )( ) ( )

tx t u t

t

Page 25: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

2

2

2 5 1( )

2 3

s sg s

s s

2

2

2 5 1( )

2 3

s sg s

s s

5( 2)

( )10

sh s

s

5( 2)

( )10

sh s

s

例 2—14 两个子系统例 2—14 两个子系统

按图所示的方式进行反馈连接,求闭环系统的传递函数。按图所示的方式进行反馈连接,求闭环系统的传递函数。按图所示的方式进行反馈连接,求闭环系统的传递函数。按图所示的方式进行反馈连接,求闭环系统的传递函数。

二、结构图等效变换二、结构图等效变换

Page 26: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

解 :在命令窗口中输入>> numg=[2 5 1];>> deng=[1 2 3];>> numh=[5 10];>> denh=[1 10];>> [num,den]= feedback (numg,deng,numh,denh)%sign缺省,表示负反馈

连接执行后输出结果:num = 2 25 51 10den = 11 57 78 40由此得到的闭环系统的传递函数为:

3 2

3 2

( ) 2 25 51 10( )

( ) 11 57 78 40

num s s s sH s

den s s s s

3 2

3 2

( ) 2 25 51 10( )

( ) 11 57 78 40

num s s s sH s

den s s s s

Page 27: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

三、对温度控制系统进行三、对温度控制系统进行 MATLABMATLAB 仿真仿真

min50 T min5.2mT CAK oc /6.1 mAkgK v /min)/(5.1

min)/(4.5 0 kgCK o 1fK

Cx 01

Cf 010

例 2—16 有一温度控制系统如图 2—13 所示,蒸汽与冷流体直接接触,将冷流体加热,工艺要求热物料出口温度一定。方框图如图 2—14 所示。已知:

, , , ,,

试绘制出:①系统在 阶跃设定作用下的过渡过程曲线。

阶跃干扰作用下的过渡过程曲线。 ②系统在冷物料温度

Page 28: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

图 2—13 温度控制系统图

Page 29: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

图 2—14 温度控制系统方框图

Page 30: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

程序如下:Gm=tf([1],[2.5 1]);Go=tf([5.4],[5 1]);

Gc=1.6;Gv=1.5;

G1=feedback(Go*Gv*Gc,Gm);G=G1*Gm;t=0:0.1:12;

y1=step(G,t);

程序如下:Gm=tf([1],[2.5 1]);Go=tf([5.4],[5 1]);

Gc=1.6;Gv=1.5;

G1=feedback(Go*Gv*Gc,Gm);G=G1*Gm;t=0:0.1:12;

y1=step(G,t);

Gf=tf([1],[5 1]);G2=feedback(Gm,

Go*Gv*Gc);T=Gf*G2;u=10*(1+0*t);y2=lsim(T,u,t);hold onplot(t,y1)plot(t,y2)hold off

Gf=tf([1],[5 1]);G2=feedback(Gm,

Go*Gv*Gc);T=Gf*G2;u=10*(1+0*t);y2=lsim(T,u,t);hold onplot(t,y1)plot(t,y2)hold off

Page 31: 第二章 控制系统 MATLAB 应用

过程控制系统过程控制系统

Cx 01

Cf 010

1——系统在 阶跃设定作用下的过渡过程曲线。

阶跃干扰作用下的过渡过程曲线。 2—— 系统在