matlab在控制中的应用

matlab在控制中的应用
matlab在控制中的应用

《控制工程基础(经典控制部分)》

的MATLAB 分析

机电工程系

郭天石李建明

四川轻化工学院

二零零二年九月

前言

在学习《工程控制基础》及其它相关的控制理论课程时,许多计算问题越来越离不开计算机辅助分析及计算机辅助设计。在计算机性能迅速提高和各种软件大量涌现的今天,机辅分析与机辅设计也越来越方便。我们希望,在进行机辅分析及机辅设计时,把主要精力放在对计算机计算处理后的数据、曲线的控制特性分析上,而不在编程及调试程序上花费太多的时间,使计算机真正成为学习相关课程和解决实际问题的工具。因此,我们编写这本在MA TLAB语言支持下进行控制方面的机辅分析及机辅设计的讲义,力图从实用的角度,介绍MA TLAB语言在经典控制方面的一些典型应用。

第一章MATLAB的基本使用

§1-1MATLAB语言简介

MA TLAB是一种高级矩阵语言,它由Math Works公司于1984年正式推出,它的基本处理对象是矩阵,即使是一个标量纯数,MA TLAB也认为它是只有一个元素的矩阵。随着MA TLAB的发展,特别是它所包含的大量工具箱(应用程序集)的集结,使MA TLAB已经成为带有独特数据结构、输入输出、流程控制语句和函数、并且面向对象的高级语言。

MA TLAB语言被称为一种“演算纸式的科学计算语言”,它在数值计算、符号运算、数据处理、自动控制、信号处理、神经网络、优化计算、模糊逻辑、系统辨识、小波分析、图象处理、统计分析、甚至于金融财会等广大领域有着十分广泛的用途。

MA TLAB语言在工程计算与分析方面具有无可比拟的优异性能。它集计算、数据可视化和程序设计于一体,并能将问题和解决方案以使用者所熟悉的数学符号或图形表示出来。

MA TLAB语言和C语言的关系与C语言和汇编语言的关系类似。例如当我们需要求一个矩阵的特征值时,在MA TLAB下只需由几个字符组成的一条指令即可得出结果,而不必去考虑用什么算法以及如何实现这些算法等低级问题,也不必深入了解相应算法的具体内容。就象在C语言下不必象汇编语言中去探究乘法是怎样实现的,而只需要采用乘积的结果就可以了。

MA TLAB语言还有一个巨大的优点是其高度的可靠性。例如对于一个病态矩阵的处理,MA TLAB不会得出错误的结果,而用C或其它高级语言编写出来的程序可能会得出错误的结果。这是因为MA TLAB函数集及其工具箱都是由一些在该领域卓有研究成果,造诣很深的权威学者经过反复比较所得出来的最优方法,而且经过多年的实践检验被证明是正确可靠的。

§1-2MATLAB的工作窗口

下面以MA TLAB6.1为例介绍。

从实用的角度MA TLAB的工作窗口包括命令窗口、M文件编辑器窗口、图形编辑窗口、数学函数庫、应用程序接口及在线窗口。下面首先介绍MA TLAB的命令窗口及M文件编辑器。

一、命令窗口

启动MA TLAB之后,屏幕上自动出现命令窗口MA TLAB,它是MA TLAB提供给用户的操作界面,用户可以在命令窗口内提示符“>>”之后(有的MA TLAB版本命令窗口没有提示符)键入MA TLAB命令,回车即获得该命令的答案。

命令窗口内有File、Edit、View、Web、Window、Help等菜单条。

二、M文件编辑窗口

M文件是MA TLAB语言所特有的文件。用户可以在M文件编辑窗口内,编写一段程序,调试,运行并存盘,所保存的用户程序即是用户自己的M文件。MA TLAB工具箱中大量的应用程序也是以M文件的形式出现的,这些M文件可以打开来阅读,甚至修改,但应注意,不可改动工具箱中的M文件!

1.进入M文件窗口有两种方法

1)命令窗口— File—New —M-File;

2)命令窗口—点击“File”字样下面的图标。

M文件编辑窗口的标记是“Untitled”(无标题的)。当用户编写的程序要存盘时,Untitled作为默认文件名提供给用户,自然,用户可以,也应当自己命名。若用户不自己命名,则MA TLAB 会对Untitled进行编号。

2.M文件的执行:

返回命令窗口,在当前目录(Current Directory)内选择所要运行的M文件的目录,在命令窗口提示符“>>”后,直接键入文件名(不加后缀)即可运行。

注意:(1)机器默认路径为一级子目录MA TLAB6 p1\work;

(2)MA TLAB 6.1以前的版本,运行M文件的方法稍有不同,它必须在File菜单下,打开“Run Script…”子菜单,键入需要运行的文件路径及名称再回车,在这种情况下,work 作为根目录对待,不出现在M文件的路径之中。本讲义的参考程序都是在M文件窗口下编制的。

三、在线帮助窗口

在命令窗口中键入Help(空格) 函数名,可以立即获得该函数的使用方法。

§1-3 MATLAB最基本的矩阵操作

作为命令窗口及M文件编辑器的应用实例,介绍几个最基本的矩阵运算命令。

一、矩阵的输入

在方括号内依次按行键入矩阵元素,在一行内的各元素之间用空格或逗号分开,每行之间用分号分开。

例如,在命令窗内输入

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 5

4 5 4 6 -4 2

7 8 9 3 5 1

同理:输入A1=[246]得到行矢量,

输入A2=[2;4;6]得到列矢量,

于是,当输入

C=[A;A1]↙有

C= 1 2 3

4 5 6

7 8 9

2 4 6

A1作为矩阵C的最后一行,C和A相比,增加了一行。

二、矩阵的转置

矩阵A的转置用A′表示,显然,A1与A2互为转置,即A1'会得到以2,4,6为元素的列矢量。

思考一下输入C1=[A A2 ]↙

C2=[A A1']↙

有什么结果?而输入[A;A1']有无意义?

三、矩阵的四则运算

1.矩阵的加减法:

当两个矩阵维数相同时可以直接进行“+”或“-”运算。

如D1=A+B,D2=A-B

2.矩阵的乘法:

当矩阵A,B维数相容时

C3=A﹡B:普通意义下的矩阵相乘

C4=A .﹡B:矩阵A与B的对应元素相乘

显然,A﹡B≠B﹡A(一般情况),而A .﹡B=B .﹡A。A .﹡B称为数列型乘法,它要求参加运算的矩阵或数列具有相同的行列数,这是MA TLAB语言中的一种特殊运算,它在今后求取函数

值等运算时是很重要的。实际上,前面所述的矩阵加、减法就是一种数列型运算。

3.矩阵的除法

D4=A\B:表示A-1﹡B或inv(A)*B,即A的逆矩阵左乘矩阵B。

D5=B/A:表示B﹡A-1或B﹡inv(A),即A的逆矩阵右乘B。

D6=A .\B:表示B的每一个元素被A的对应元素除。

D7=A ./B:表示A的每一个元素被B的对应元素除。显然,A .\B与A ./B的各对应元素互为倒数。

读者可以思考一下,D6 .﹡D7等于什么?

D8=inv(A):A的逆矩阵。

打开M文件编辑窗口,将上述命令依次键入,得到fanli001如下:

参考程序fanli001:矩阵的四则运算

A=[2 2 3;4 5 4;7 8 9] % 三阶矩阵输入

B=[1,3,5;6,-4,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=A\B%A的逆左乘B

D4=B/A%A的逆右乘B

D6=A.\B%B的各元素被A的对应元素除

D7=A./B%A的各元素被B的对应元素除

D8=inv(A)%A的逆矩阵

语句后面的%为语句说明符。

MA TLAB中矩阵运算的其它主要命令可通过在线帮助获得。

§1-4 MATLAB 的符号运算操作 一、进入符号运算功能

在命令窗口键入 syms x y z t ↙

此后,即可以使用x ,y ,z ,t 等作自变量定义函数。 syms x y z t real ↙ 规定所定义的变量为实型。

二、代数方程求解

使用命令solve 可以求解代数方程,如求下例方程组 ???=+--=-++0324032

2y x x y xy x 的解,命令为

[x,y]=solve(‘x^2+x*y+y -3=0,x^2-4*x-2*y+3=0’) 程序见范例程序fanli002。

参考程序fanli002:代数方程求解 syms x y %进入符号运算功能 f1=x^2+x*y+y-3 %函数f1 f2=x^2-4*x-2*y+3 %函数f2

[x,y]=solve('x^2+x*y+y-3=0','x^2-4*x-2*y+3=0')

%求解方程组

f1a=simplify(subs(f1)) %用求解出的x,y 检验方程1 f2a=simplify(subs(f2)) %用求解出的x,y 检验方程2 x=double(x) %将符号变量转换成浮点数 y=double(y) %将符号变量转换成浮点数 f1=subs(f1) %用浮点数x,y 检验方程1

f2=subs(f2) %用浮点数x,y 检验方程2

由solve 求出的根是根的符号表达形式,是准确解。

命令simplify(f)表示化简,subs(f1)表示将求解出x ,y 代回f1中;double 是将符号变量转换成浮点数,是准确解x ,y 的近似值。这从程序运行f1a=0,f2a=0,f1≠0,f2≠0可以确认。

三、符号矩阵运算

符号矩阵可以和数值矩阵一样进行运算,例如:求矩阵特征值eig ,求矩阵的逆inv 等命令都支持符号运算。

???

?

??-=t t t t A sin cos cos sin

计算其特征值eig(A),逆矩阵inv(A),程序见fanli003。

参考程序fanli003:符号矩阵的特征值 syms t real %定义为实型变量

A=[sin(t) -cos(t);cos(t) sin(t)] %定义矩阵A B1=eig(A) %求矩阵A 的特征值

B1=simple(B1) %化简A 的特征值表达式 B2=inv(A) %求矩阵A 的逆矩阵

B2=simple(B2) %化简A 的逆矩阵表达式 C1=A*B2 %检验A 的逆矩阵

C1=simple(C1) %C1为单位矩阵

注意函数的输入方法,自变量用圆括号括起来。

四、微积分运算

设函数)(x f f =,则MA TLAB 中微积分运算命令为 fiff(f):求函数f 对自变量x 的一阶导数; diff(f ,2):求函数f 对自变量x 的二阶导数; int(f):求函数f 的不定积分 例1.1,设

x f cos 451+=

试计算其一阶,二阶导数,积分运算,并作出函数图象,见范例fanli004。

参考程序fanli004:函数的微分与积分 syms x

f=1/(5+4*cos(x))

ezplot(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 f f 的图形,x 的取值范围默认值为-2π< x <2π

x

1/(5+4 cos(x))

fanli004的函数曲线

2

x

fanli004的一阶导函数曲线

322

x

fanli004的二阶导函数曲线

x

2

fanli004的二阶导函数的二重积分曲线

ezplot(f)是一个很有用的作图命令,它的其它应用形式,请查在线帮助。

细心的读者会发现,一个函数求二阶导数后再对二阶导数进行二重积分,其结果与原函数相差一个常数。相当于纵坐标发生平移。

第二章 系统的时域特性

§2-1 传递函数 一、传递函数的两种形式

传递函数通常表达成s 的有理分式形式及零极点增益形式。

den

num s

a s

a

s G n

j i

j n m

i i

i

m ?

=

∑=-=-0

1)(

∏∏==+

+=

n

j j m

i i p s z s K s G 1

1)

()

()(

设传递函数

1221

2)(23

1++++=

s s s s s G

1.有理分式形式

分别将分子、分母中s 多项式的系数按降幂排列成行矢量,缺项的系数用0补齐。上述函数可表示为

num1=[2 1] (注意:方括号,同一行的各元素间留空格或逗号)。 den1=[1 2 2 1]

syss1=tf(num1,den1)

运行后,返回传递函数)(1s G 的形式。这种形式不能直接进行符号运算!

2.零极点增益形式

[Z ,P ,K] = tf2zp(num1,den1) sys2 = zpk(Z ,P ,K)

返回零、极点、增益表达式,其Z ,P 分别将零点和极点表示成列向量,若无零点或极点用[ ](空矩阵)代替。 运行得到)(1s G 的

零点 Z = -0.5

极点 P = -1,-0.5±j 0.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=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 是状态空间模型与有理分式及零、极点、增益模型之间的相互转换。

二、传递函数框图的处理

用框图可以方便地表示传递函数的并联,串联及反馈。为简洁,仅以有理分式模型为例。

1. 并联

sysp = parallel(sys1[num ,den]=parallel(num1,den1,num2,den2)

2. 串联

[nums,dens] = series(num1,den1,num2,den2)

3. 反馈

[numc, denc] = feedback(nums, dens, num3, den3)

4. 单位反馈

)

上面给出了同一指令的两种形式,相当于两套平行指令。

对于零极点增益形式,书写稍复杂一些,可先用zpk 转换成系统形式,或用zp2tf 转折换成有理分式形式后再进行框图化简操作。

G 2(s) G 1(s)G 2(s) 1+G 1(s)G 2(s)

G 1(s)G 2(s) 1+G 1(s)G 2(s) G 3(s)

三、简单函数的拉普拉斯变换

在MA TLAB 的符号功能中,可以对简单函数进行拉普拉斯正、逆变换。 拉氏正变换:laplace(f(t)) 拉氏逆变换:ilaplace(L(s))

其中)(t f 为原函数,)(s L 为象函数。命令格式参见fanli007。

参考程序fanli007:拉普拉斯变换 syms s t w a b c

f1=sqrt((b-a)^2+w^2)/w*exp(-a*t)*sin(w*t+atan(w/(b-a)))%原函数f1 L1=laplace(f1) %f1的拉氏变换(象函数) L1=simple(L1) %化简

f2=ilaplace(L1) %L1的拉氏逆变换

f2=simple(f2) %化简

在MA TLAB 中使用laplace 及ilaplace 命令时,要注意象、原函数的符号,特别是对初相不等于零的振荡系统,运行结果常常同手册上的结果相差一个符号,这要注意函数表达式成立的条件。保险的办法是再使用拉氏变换的初值定理确定象、原函数的符号。

§2-2 系统时域特性曲线

在MA TLAB 中,当传递函数已知时,可以方便地求出系统的单位脉冲响应、单位阶跃响应等曲线。

一、系统的单位阶跃响应step

step 有以下几种格式 step(sys):

直接作出sys 的单位阶跃响应曲线。其中sys = tf(num, den) 或sys = zpk(z, p, k),MA TLAB 自动决定响应时间。 step(sys, t)

设定响应时间的单位阶跃响应。t 可以设定为最大响应时间 t = t 终值(秒),也可以设置为一个向量 t = 0 : △t : t 终值

注意冒号的使用。它产生一个从0到t 终值的行矢量,元素之间的间隔为△t 。 step(sys1, sys2, …, sysn)

在同一幅图上画出几个系统的单位阶跃响应。 [y, t] = step(sys);

命令输出对应时刻t 的各个单位阶跃响应值,不画图。语句后的分号控制数据的屏幕显示。 如果要查看机器计算了多少个数据,可以使用命令

size(y)

得出的结果也表明数据作为列矢量的行数。要将计算出的[y, t]作成曲线,使用一般的作图命令

plot(t, y)

plot 后面跟的两个参数横坐标在前,纵坐标在后。 参考程序见fanli008:

参考程序fanli008:系统的单位阶跃响应 num1=[4 2] den1=[2 8 14 11 4]

sys1=tf(num1,den1) %系统G1(s) num2=[2 1] den2=[1 4 6 7 3]

sys2=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)的单位阶跃响应曲线 figure,plot(t2,y2) %系统G2(s)的单位阶跃响应曲线

Step Response

Time (sec)

A m p l i t u d e

fanli008:step(sys1,sys2,t)单位阶跃曲线

二、系统的单位脉冲响应

impulse 命令格式与单位阶跃响应step 的命令格式完全相同,只需将语句中的step 用impulse 代替即可。针对同样的系统,其单位脉冲响应的参考程序见fanli009。 参考程序fanli009:系统的单位脉冲响应 num1=[4 2] den1=[2 8 14 11 4] sys1=tf(num1,den1) num2=[2 1] den2=[1 4 6 7 3] sys2=tf(num2,den2)

[y1,t1]=impulse(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)的单位阶跃和单位脉冲响应曲线

Impulse Response

Time (sec)

A m p l i t u d e

fanli009:impulse(sys1,sys2)单位脉冲响应曲线

程序的最后一句hold on 是当前图形保护模式。当要将新图形作在当前图形上时,必须使

用hold on 。而figure 的含意是另开一个新的图形窗口,如果不用figure 或hold on ,则新的图形会占用原图形窗口,始终只保留一个最新的图形窗口。

三、一阶系统及二阶系统的时域特性

一阶系统及二阶系统是最基本也是最重要的系统,高阶系统总可以视为由若干个一阶和(或)二阶系统组合构成。

1. 一阶系统(设增益为1)

11)(+=

Ts s G

影响系统特性的参数是其时间常数T ,T 越大,系统惯性越大,响应越慢。 参考程序fanli010给出了T =0.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;

Step Response

Time (sec)

A m p l i t u d e

fanli010一阶系统时间常数对单位阶跃响应的影响

Impulse Response

Time (sec)

A m p l i t u d e

fanli011一阶系统时间常数对单位脉冲响应的影响

for del=0.1:0.2:1.1 den=[4*del 1];

impulse(tf(num,den),10) %一阶系统单位阶脉冲应曲线

hold on, %不同时间常数的一阶系统单位脉冲响应曲线簇 i=i+1; end

注意MA TLAB 中for 语句的结构。读者可以改变不同的增益,看看图形有何变化。

2. 二阶系统(设0<ξ

<1)

设二阶系统为

2

2

2

2)(n n

n

s s G ωξω

ω++=

二阶系统的特征参数为固有频率n ω及阻尼比ξ。当n ω增大,系统振动频率加快,振荡加剧;而随着ξ减小,系统振荡加剧,振荡峰尖锐。

参考程序fanli012示出了当ξ=0.5, n ω =1, 2, 3, 4, 5 rad/s 时的间接阶跃曲线簇。

参考程序fanli012:

不同固有频率的二阶系统的单位阶跃响应曲线(ξ=0.5) i=1;

for del=1:1:5; % 二阶系统固有频率递增间隔 num=del^2; % 二阶系统传递函数分子系数向量

den=[1 del del^2]; % 不同固有频率的二阶系统分母系数向量 step(tf(num,den),6) %二阶系统单位阶跃响应曲线

hold on, %不同固有频率的二阶系统单位阶跃响应曲线簇 i=i+1; end

Step Response

Time (sec)

A m p l i t u d e

fanli012二阶系统固有频率对单位阶跃响应的影响

参考程序fanli013示出了同一二阶系统的单位脉冲响应曲线簇。

参考程序fanli013:

不同固有频率的二阶系统的单位脉冲响应曲线(ξ=0.5) i=1;

for del=1:1:5; num=del^2;

den=[1 del del^2]; % 不同固有频率的二阶系统分母系数向量 impulse(tf(num,den),6) %二阶系统单位脉冲响应曲线 hold on, %不同固有频率的二阶系统单位脉冲响应曲线簇 i=i+1; end

Impulse Response

Time (sec)

A m p l i t u d e

fanli013二阶系统固有频率对单位脉冲响应的影响

参考程序fanlio14示出了当n

ω=1,ξ=0.1,0.3,0.5,0.7,0.9的二阶系统的单位阶跃响应曲

线簇。

参考程序fanli014:

不同阻尼比的二阶系统的单位阶跃响应曲线(n

ω=1)

i=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; end

Step Response

Time (sec)

A m p l i t u d e

famli014二阶系统阻尼比对单位阶跃响应的影响

参考程序fanli015示出了同一二阶系统当ξ取0.1,0.3,0.5,0.7,0.9的单位脉冲响应曲线簇。

参考程序fanli015:

不同阻尼比的二阶系统的单位脉冲响应曲线(n

=1)

i=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

Impulse Response

Time (sec)

A m p l i t u d e

fanli015二阶系统阻尼比对单位脉冲响应的影响

四、带延时环节系统的典型响应

设具有纯延时环节的传递函数为

Ts

e

Ts K s G -+=

1

)(

计算这种系统的单位阶跃响应不能使用一般方法。首先应使用Pade 法对延时环节Ts

e -进行近似展开,

[numT, dent] = pade(T, 5) (表示使用5阶Pade 级数)

得出Ts

e -的分子、分母系数的向量,然后将系统视为惯性环节与延迟环节的串联,再求其阶跃脉冲响应。

设K = 2.5,T =1,程序见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(sys1,syst);% 带延时环节的惯性系统 step(sys,6),grid % 带延时环节惯性系统的单位阶跃响应

基于Matlab的自动控制系统设计与校正

自动控制原理课程设计设计题目:基于Matlab的自动控制系统设计与校正

目录 第一章课程设计内容与要求分析.................................................... 错误!未定义书签。 1.1设计内容 (1) 1.2 设计要求 (1) 1.3 Matlab软件 (2) 1.3.1基本功能 (2) 1.3.2应用 (2) 第二章控制系统程序设计 (4) 2.1 校正装置计算方法 (4) 2.2 课程设计要求计算 (4) 第三章利用Matlab仿真软件进行辅助分析 (6) 3.1校正系统的传递函数 (6) 3.2用Matlab仿真 (6) 3.3利用Matlab/Simulink求系统单位阶跃响应 (8) 3.2.1原系统单位阶跃响应 (8) 3.2.2校正后系统单位阶跃响应 (8) 3.2.3校正前、后系统单位阶跃响应比较 (8) 3.4硬件设计 (8) 3.4.1在计算机上运行出硬件仿真波形图 (9) 课程设计心得体会 (10) 参考文献 (12)

1 第一章 课程设计内容与要求分析 1.1设计内容 针对二阶系统 )1()(+= s s K s W , 利用有源串联超前校正网络(如图所示)进行系统校正。当开关S 接通时为超前校正装置,其传递函数 11 )(++-=Ts Ts K s W c c α, 其中 1 3 2R R R K c += , 1 ) (13243 2>++ =αR R R R R ,C R T 4=, “-”号表示反向输入端。若Kc=1,且开关S 断开,该装置相当于一个放大系数为1的放大器(对原系统没有校正作用)。 1.2 设计要求 1 1.0)(≤∞e ,开环截止频率ω’≥45°; 2 3) 4)设校正装置网络元件参数R4、5R=100K ,C=1μF 、10μF 若干个); 6)利用Matlab 仿真软件辅助分析,绘制校正前、后及校正装置对数频率特性曲线,并验算设计结果; 7)在Matlab-Simulink 下建立系统仿真模型,求校正前、后系 统单位阶跃响应特性,并进行系统性能比较; 8)利用自动控制原理实验箱完成硬件设计过程,包括:搭建校正前后 c R R

自动控制原理MATLAB仿真实验报告

实验一 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.

基于MATLAB的控制系统仿真

科技信息 1.引言 控制系统仿真是指以控制系统的模型为基础,主要用数学模型代替实际的控制系统,以计算机为工具对控制系统进行实验和研究的一种方法。利用仿真工具对控制系统进行设计与仿真,可以有效地对比各种控制模型与方案,选取并优化相关控制参数,从而对整个控制系统的性能进行优化与提高,尤其是对于一些新型控制理论与算法的研究,进行系统仿真更是必不可少的。因此,控制系统仿真是应用现代科学手段对控制系统进行科学研究的十分重要的手段之一。 M ATLAB 是由美国MathWorks 公司于1984年推出的专门用于科学、 工程计算和系统仿真的优秀的科技应用软件。在其发展的过程中,不断溶入众多领域的一些专业性理论知识,从而出现了功能强大的MATLAB 配套工具箱,如控制系统工具箱(Control System Toolbox )、模糊逻辑工具箱(Fuzzy Logic Toolbox)、神经网络工具箱(Neural Network Tool-box),以及图形化的系统模型设计与仿真环境(SIMULINK)。SIMULINK 工具平台的出现,使得控制系统的设计与仿真变得相当容易和直观,成为众多领域中计算机仿真、计算机辅助设计与分析、算法研究和应用开发的基本工具和首选应用软件。 2.基于MATLAB 的控制系统仿真过程 控制系统仿真过程一般可以分为以下几个阶段:控制系统数学模型的建立、控制系统仿真模型的建立、控制系统仿真程序的编写和控制系统仿真实验及结果分析。 2.1控制系统数学模型的建立数学模型是计算机仿真的基础,是指描述系统内部各物理量(或变量)之间关系的数学表达式。控制系统的数学模型通常是指动态数学模型,自动控制系统最基本的数学模型是输入输出模型,包括时域的微分方程、复数域的传递函数和频率域中的频率特性。除了输入输出模型之外,表示控制系统的数学模型还有状态空间模型、结构图模型等。 2.2控制系统仿真模型的建立 控制系统通常由多个元部件相互连接而成,其中每个元部件都可以用一组微分方程或传递函数来表示。控制系统仿真模型的建立主要与各子系统的仿真模型的连接方式有关,主要有三种基本互联模型:串联、并联和反馈连接。在实际的控制系统中,常常采用混合联接方式,既有串联、并联,还有反馈连接。 2.3控制系统仿真的实现 M ATLAB 控制系统工具箱提供了大量的命令用于实现控制系统的仿真,包括模型创建命令、模型变换命令、模型简化命令、模型实现命令、模型特性命令、时域响应命令、频域响应命令等,这些命令涵盖了单变量和多变量控制系统分析、设计的各个方面。其输入方法分别为在SIM ULINK 环境下用仿真模块建模和在命令窗口用仿真命令编程两种方法进行仿真,然后运行仿真系统得到单位阶跃响应图,并根据单位阶跃响应图分析控制系统的动态性能指标,从而评价控制系统性能的优劣。 3.基于MATLAB 的控制系统仿真实例例如,一控制系统由5个子系统组成,其组成结构如图1所示。各 子系统的传递函数分别为:G 1(s)=s 2 +5s+12s 2+15s+6;G 2(s)=4(s+6)(s+2)(s+20) ;G 3(s)= 10;G 4 (s)=s+1;H(s)=0.1。 首先,在SIMULINK 环境下建立控制系统仿真模型,即将所需的仿 真模块按题中的要求连接起来,如图2所示, 并按要求设置好相应的参数,然后运行仿真得到单位阶跃响应图如图3所示。 图1控制系统的结构图 图2控制系统的仿真模型 图3控制系统的阶跃响应 从控制系统的单位阶跃响应曲线可以看出,其超调量为0.32s ,峰值时间为0.8s ,调节时间为3.2s 。 4.结束语 通过M ATLAB 的动态仿真工具箱SIMULINK ,可以方便、快捷地构造各种控制系统的仿真模型,并能直观地观察到其控制性能,是控制系统优化设计的有力工具。 参考文献[1]曹志国,廉小亲.基于MATLAB 的两种模糊控制系统的仿真方法[J ].计算机仿真,2004(3):41-44 [2]张葛祥,李娜.MATLAB 仿真技术与应用[M ].北京:清华大学出版社,2003 [3]来长胜,陈凤兰.基于MATLAB 的控制系统仿真教学研究[J ].机械工程与自动化,2010(2):189-190 [4]黄伟忠.单级倒立摆FUZZY-PD 控制系统的建模与仿真[J ].计算机应用技术,2009(2):40-43 基金项目:本文系海南省教育厅高等学校科学研究项目(Hj2009-134),琼州学院青年教师科研基金项目(QY200913)。 作者简介:孙志雄(1974-),男,副教授,主要研究方向为电子与通信技术。林雄(1962-),男,教授,主要研究方向为神经网络和模糊系统。 基于MATLAB 的控制系统仿真 琼州学院电子信息工程学院 孙志雄 林雄 [摘要]本文介绍了MATLAB 语言和控制系统工具箱(Control System Toolbox )以及如何在SIMULINK 环境下构造控制系统的仿 真模型,并通过实例介绍了控制系统仿真的过程。[关键词]控制系统MATLAB 仿真博士·专家论坛 429——

增量式PID控制算法的MATLAB仿真

增量式PID 控制算法的MATLAB 仿真 PID 控制的原理 在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID 控制,又称PID 调节。PID 控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID 控制技术最为方便。即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID 控制技术。PID 控制,实际中也有PI 和PD 控制。PID 控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。 一、 题目:用增量式PID 控制传递函数为G(s)的被控对象 G (s )=5/(s^2+2s+10), 用增量式PID 控制算法编写仿真程序(输入分别为单位阶跃、正弦信号,采样时间为1ms ,控制器输出限幅:[-5,5],仿真曲线包括系统输出及误差曲线,并加上注释、图例)。程序如下 二、 增量式PID 原理 { U(k)= ?u(k)+ U(k-1) 或 { U(k)= ?u(k)+ U(k-1) 注:U(k)才是PID 控制器的输出 三、 分析过程 1、对G(s)进行离散化即进行Z 变换得到Z 传递函数G(Z); 2、分子分母除以z 的最高次数即除以z 的最高次得到; )]}2()1(2)([)()]1()({[)(-+--++ --=?n n n T T n T T n n K n U D I P O εεεεεε)] 2()1(2)([)(i )]1()([)(-+--++--=?n n n Kd n K n n K n U P O εεεεεε

基于MATLAB的过程控制

摘要 水箱和换热器是过程控制中的典型对象,本设计主要以水箱液位控制系统和换热器温度控制系统为例,通过建立数学模型,确定对象的传递函数。利用Matlab的Simulink 软件包对系统进行了仿真研究,并对仿真结果进行了深入的分析。 在水箱液位控制系统中,通过建立数学模型以及实验中对实验数据的分析,分别确定了单容、双容、三容水箱对象的传递函数。在simulink软件包中建立了各系统的仿真模型。通过对仿真曲线的研究,分析了控制器参数对系统过渡过程的影响。 在换热器温度控制系统中,根据自动控制系统工艺过程,利用降阶法确定了对象的传递函数。在软件包Simulink中搭建了单回路、串级、前馈—反馈控制系统模型,分别采用常规的PID、实际PID和Smith预估器对系统进行了仿真研究,通过仿真曲线的比较,分析了各种控制系统的特点。 关键词:过程控制;MATLAB;仿真;水箱;换热器

Simulation and Research of Process Contro1 System Based on MATLAB Abstract Water tank and Heat exchanger are typical object in the process control in the design,The control system of tank level and heat interchange is used as an example.The transfer function object is defined by setting up the mathematical model.I carry on simulation research on the system by using Matlab’s simulink simulation.and deeply analyze the result of the simulation. In the system, which control the level of the tank. The transfer function of a single-tank, double-tank, three-tank is defined by setting up mathematical model and analyzing date. Simulation model of all system set up simulink simulation. The effect that controller parameter composes on the system is analyzed through the research on the simulation cuvers. In the control system of heat inter change. The design uses reduction method and defines the transfer function of the object.according to the technical process in the automatic system.The control system model of single loop, cascade, feed forward-feedback is established. Simulation research on there system is carried on through using conventional PID, the actual PID and Smith predictor , While the characteristics those control system are compared. Key words: Process Control; Matlab;Simulation; Water tanks; Heat exchanger

MATLAB控制系统与仿真设计

MATLAB控制系统与仿真 课 程 设 计 报 告 院(系):电气与控制工程学院 专业班级:测控技术与仪器1301班 姓名:吴凯 学号:1306070127

指导教师:杨洁昝宏洋 基于MATLAB的PID恒温控制器 本论文以温度控制系统为研究对象设计一个PID控制器。PID控制是迄今为止最通用的控制方法,大多数反馈回路用该方法或其较小的变形来控制。PID控制器(亦称调节器)及其改进型因此成为工业过程控制中最常见的控制器(至今在全世界过程控制中用的84%仍是纯PID调节器,若改进型包含在内则超过90%)。在PID控制器的设计中,参数整定是最为重要的,随着计算机技术的迅速发展,对PID参数的整定大多借助于一些先进的软件,例如目前得到广泛应用的MATLAB仿真系统。本设计就是借助此软件主要运用Relay-feedback法,线上综合法和系统辨识法来研究PID控制器的设计方法,设计一个温控系统的PID控制器,并通过MATLAB中的虚拟示波器观察系统完善后在阶跃信号下的输出波形。 关键词:PID参数整定;PID控制器;MATLAB仿真。 Design of PID Controller based on MATLAB Abstract This paper regards temperature control system as the research object to design a pid controller. Pid control is the most common control method up until now; the great majority feedback loop is controlled by this method or its small deformation. Pid controller (claim regulator also) and its second generation so become the most common controllers in the industry process control (so far, about 84% of the controller being used is the pure pid controller, it’ll exceed 90% if the second generation included). Pid parameter setting is most important in pid controller designing, and with the rapid development of the computer technology, it mostly recurs to some advanced software, for example, mat lab simulation software widely used now. this design is to apply that soft mainly use Relay feedback law and synthetic method on the line to study pid

某温度控制系统的MATLAB仿真

课程设计报告 题目某温度控制系统的MATLAB仿真(题目C)

过程控制课程设计任务书 题目C :某温度控制系统的MATLAB 仿真 一、 系统概况: 设某温度控制系统方块图如图: 图中G c (s)、G v (s)、G o (s)、G m (s)、分别为调节器、执行器、过程对象及温度变送器的传递函数;,且电动温度变送器测量范围(量程)为50~100O C 、输出信号为4~20mA 。G f (s)为干扰通道的传递函数。 二、系统参数 二、 要求: 1、分别建立仿真结构图,进行以下仿真,并求出主要性能指标: (1)控制器为比例控制,其比例度分别为δ=10%、20%、50%、100%、200%时,系统广义对象输出z(t)的过渡过程; (2)控制器为比例积分控制,其比例度δ=20%,积分时间分别为T I =1min 、3min 、5min 、10min 时,z(t)的过渡过程; 0m v o 0f o o =5min =2.5min =1.5(kg/min)/mA =5.4C/(kg/min) =0.8 C C T T K K K x(t)=80f(t)=10; ;;; ;给定值; 阶跃扰动

(3)控制器为比例积分微分控制,其比例度δ=10%,积分时间T I=5min,微分时间T D = 0.2min时,z(t)的过渡过程。 2、对以上仿真结果进行分析比对,得出结论。 3、撰写设计报告。 注:调节器比例带δ的说明 比例控制规律的输出p(t)与输入偏差信号e(t)之间的关系为 式中,K c叫作控制器的比例系数。 在过程控制仪表中,一般用比例度δ来表示比例控制作用的强弱。比例度δ定义为 式中,(z max-z min)为控制器输入信号的变化范围,即量程;(p max-p min)为控制器输出信号的变化范围。 = c p(t)K e(t) max min ( ) =100% ) max min e z z p(p-p δ - ?

基于MATLAB的智能控制系统的介绍与设计实例最新毕业论文

(此文档为word格式,下载后您可任意编辑修改!) 武汉科技大学 智能控制系统 学院:信息科学与工程学院 专业:控制理论与控制工程 学号: 姓名:李倩

基于MATLAB的智能控制系统的介绍与设计实例 摘要 现代控制系统,规模越来越大,系统越来越复杂,用传统的控制理论方法己不能满控制的要求。智能控制是在经典控制理论和现代控制理论的基础上发展起来的,是控制理论、人工智能和计算机科学相结合的产物。MATLAB是现今流行的一种高性能数值计算和图形显示的科学和工程计算软件。本文首先介绍了智能控制的一些基本理论知识,在这些理论知识的基础之上通过列举倒立摆控制的具体实例,结合matlab对智能控制技术进行了深入的研究。 第一章引言 自动控制就是在没有人直接参与的条件下,利用控制器使被控对象(如机器、设备和生产过程)的某些物理量能自动地按照预定的规律变化。它是介于许多学科之间的综合应用学科,物理学、数学、力学、电子学、生物学等是该学科的重要基础。自动控制系统的实例最早出现于美国,用于工厂的生产过程控制。美国数学家维纳在20世纪40年代创立了“控制论”。伴随着计算机出现,自动控制系统的研究和使用获得了很快的发展。在控制技术发展的过程中,待求解的控制问题变得越来越复杂,控制品质要求越来越高。这就要求必须分析和设计相应越来越复杂的控制系统。智能控制系统(ICS)是复杂性急剧增加了的控制系统。它是由控制问题的复杂性急剧增加而带来的结果,其采用了当今其他学科的一些先进研究成果,其根本目的在于求解复杂的控制问题。近年来,ICS引起了人们广泛的兴趣,它体现了众多学科前沿研究的高度交叉和综合。 作为一个复杂的智能计算机控制系统,在其建立投入使用前,必要首先进行仿真实验和分析。计算机仿真(Compeer Simulation)又称计算机模拟(Computer Analogy)或计算机实验。所谓计算机仿真就是建立系统模型的仿真模型进而在计算机上对该仿真模型

复杂过程控制系统设计与Simulink仿真

银河航空航天大学 课程设计 (论文) 题目复杂过程控制系统设计与Simulink仿 真 班级 学号 学生姓名 指导教师

目录 0. 前言 (1) 1. 总体方案设计 (2) 2. 三种系统结构和原理 (3) 2.1 串级控制系统 (3) 2.2 前馈控制系统 (3) 2.3 解耦控制系统 (4) 3. 建立Simulink模型 (5) 3.1 串级 (5) 3.2 前馈 (5) 3.3 解耦 (7) 4. 课设小结及进一步思想 (15) 参考文献 (15) 附录设备清单 (16)

复杂过程控制系统设计与Simulink仿真 姬晓龙银河航空航天大学自动化分校 摘要:本文主要针对串级、前馈、解耦三种复杂过程控制系统进行设计,以此来深化对复杂过程控制系统的理解,体会复杂过程控制系统在工业生产中对提高产品产量、质量和生产效率的重要作用。建立Simulink模型,学习在工业过程中进行系统分析和参数整定的方法,为毕业设计对模型进行仿真分析及过程参数整定做准备。 关键字:串级;前馈;解耦;建模;Simulink。 0.前言 单回路控制系统解决了工业过程自动化中的大量的参数定制控制问题,在大多数情况下这种简单系统能满足生产工艺的要求。但随着现代工业生产过程的发展,对产品的产量、质量,对提高生产效率、降耗节能以及环境保护提出了更高的要求,这便使工业生产过程对操作条件要求更加严格、对工艺参数要求更加苛刻,从而对控制系统的精度和功能要求更高。为此,需要在单回路的基础上,采取其它措施,组成比单回路系统“复杂”一些的控制系统,如串级控制(双闭环控制)、前馈控制大滞后系统控制(补偿控制)、比值控制(特殊的多变量控制)、分程与选择控制(非线性切换控制)、多变量解耦控制(多输入多输出解耦控制)等等。从结构上看,这些控制系统由两个以上的回路构成,相比单回路系统要多一个以上的测量变送器或调节器,以便完成复杂的或特殊的控制任务。这类控制系统就称为“复杂过程控制系统”,以区别于单回路系统这样简单的过程控制系统。 计算机仿真是在计算机上建立仿真模型,模拟实际系统随时间变化的过程。通过对过程仿真的分析,得到被仿真系统的动态特性。过程控制系统计算机仿真,为流程工业控制系统的分析、设计、控制、优化和决策提供了依据。同时作为对先进控制策略的一种检验,仿真研究也是必不可少的步骤。控制系统的计算机仿真是一门涉及到控制理论、计算机数学与计算机技术的综合性学科。控制系统仿真是以控制系统的模型为基础,主要用数学模型代替实际控制系统,以计算机为工具,对控制系统进行实验和研究的一种方法。在进行计算机仿真时,十分耗费时间与精力的是编制与修改仿真程序。随着系统规模的越来越大,先进过程控制的出现,就需要行的功能强大的仿真平台Math Works公司为MATLAB提供了控制系统模型图形输入与仿真工具Simulink,这为过程控制系统设计与参数整定的计算与仿真提供了一个强有力的工具,使过程控制系统的设计与整定发生了革命性的变化。

基于MATLAB的PID控制器设计说明

基于MATLAB的PID 控制器设计

基于MATLAB的PID 控制器设计 一、PID控制简介 PID控制是最早发展起来的经典控制策略, 是用于过程控制最有效的策略之一。由于其原理简单、技术成,在实际应用中较易于整定, 在工业控制中得到了广泛的应用。它最大的优点是不需了解被控对象精确的数学模型,只需在线根据系统误差及误差的变化率等简单参数, 经过经验进行调节器参数在线整定, 即可取得满意的结果, 具有很大的适应性和灵活性。 积分作用:可以减少稳态误差, 但另一方面也容易导致积分饱和, 使系统的超调量增大。 微分作用:可提高系统的响应速度, 但其对高频干扰特别敏感, 甚至会导致系统失稳。 所以, 正确计算控制器的参数, 有效合理地实现 PID控制器的设计,对于PID 控制器在过程控制中的广泛应用具有重要的理论和现实意义。 在PID控制系统中, PID控制器分别对误差信号e(t)进行比例、积分与微分运算, 其结果的加权和构成系统的控制信号u(t),送给对象模型加以控制。 PID控制器的数学描述为 其传递函数可表示为: 从根本上讲, 设计PID控制器也就是确定其比例系数Kp、积分系数T i 和微分系数T d , 这三个系数取值的不同, 决定了比例、积分和微分作用的强弱。控制系统的整定就是在控制系统的结构已经确定、控制仪表和控制对象等处在正常状态的情况下, 适当选择控制器参数使控制仪表的特性和控制对象的特性相配合, 从而使控制系统的运行达到最佳状态, 取得最好的控制效果。 二、MATLAB的 Ziegler-Nichols算法PID控制器设计。 1、PID控制器的Ziegler-Nichols参数整定 在实际的过程控制系统中, 有大量的对象模型可以近似地由一阶模型 来表示。这个对象模型可以表示为 sL - e sT 1 K G(s) + = 如果不能建立起系统的物理模型, 可通过试验测取对象模型的阶跃响应, 从而得到模型参数。当然, 我们也可在已知对象模型的情况下, 利用MATLAB,通过使用step ( ) 函数得到对象模型的开环阶跃响应曲线。在被控对象的阶跃响应中, 可获取K 、L 和T参数, 也可在MATLAB中由dcgain ( ) 函数求取 K值。

基于MATLAB的控制网平差程序设计--第四章源代码

chkdat函数(72页) function [n1,k]=chkdat(sd,pn,n1) n=length(n1); k=0; for i=1:n i1=0; for j=1:sd if(n1(i)==pn(j)) i1=1; n1(i)=j; break; end end if(i1==0) % fprintf(fit2,'%5d %5d\n',i,n1(i) k=1; end end return readlevelnetdata函数(73页) function [ed,dd,sd,gd,pn,h0,k1,k2,h1,s]=readlevelnetdata global filename filepath; global ed dd sd pn gd h0 k1 k2 h1 s k11 k12; k1=[];k2=[];h=[];s=[]; [filename,filepath]=uigetfile('*.txt','选择高程数据文件'); fid1=fopen(strcat(filepath,filename),'rt'); if(fid1==-1) msgbox('Input File or Path is not correct','Warning','warn'); return; end ed=fscanf(fid1,'%f',1); dd=fscanf(fid1,'%f',1); sd=ed+dd; gd=fscanf(fid1,'%f',1); pn=fscanf(fid1,'%f',sd); h0=fscanf(fid1,'%f',ed); h0(dd+1:ed+dd)=h0(1:ed); heightdiff=fscanf(fid1,'%f',[4,gd]); heightdiff=heightdiff'; k1=heightdiff(:,1);%起点 k2=heightdiff(:,2);%终点 k11=heightdiff(:,1);%起点

基于Matlab的自动控制系统设计与校正

自动控制原理课程设计 设计题目:基于Matlab的自动控制系统设计与校正

目录 目录 第一章课程设计内容与要求分析 (1) 1.1设计内容 (1) 1.2 设计要求 (1) 1.3 Matlab软件 (2) 1.3.1基本功能 (2) 1.3.2应用 (3) 第二章控制系统程序设计 (4) 2.1 校正装置计算方法 (4) 2.2 课程设计要求计算 (4) 第三章利用Matlab仿真软件进行辅助分析 (6) 3.1校正系统的传递函数 (6) 3.2用Matlab仿真 (6) 3.3利用Matlab/Simulink求系统单位阶跃响应 (10) 3.2.1原系统单位阶跃响应 (10) 3.2.2校正后系统单位阶跃响应 (11) 3.2.3校正前、后系统单位阶跃响应比较 (12) 3.4硬件设计 (13) 3.4.1在计算机上运行出硬件仿真波形图 (14) 课程设计心得体会 (16) 参考文献 (18)

第一章 课程设计内容与要求分析 1.1设计内容 针对二阶系统 )1()(+= s s K s W , 利用有源串联超前校正网络(如图所示)进行系统校正。当开关S 接通时为超前校正装置,其传递函数 11 )(++-=Ts Ts K s W c c α, 其中 132R R R K c += ,1 )(13243 2>++=αR R R R R ,C R T 4=, “-”号表示反向输入端。若Kc=1,且开关S 断开,该装置相当于一个放 大系数为1的放大器(对原系统没有校正作用)。 1.2 设计要求 1)引入该校正装置后,单位斜坡输入信号作用时稳态误差1.0)(≤∞e ,开环截止频率ωc’≥4.4弧度/秒,相位裕量γ’≥45°; 2)根据性能指标要求,确定串联超前校正装置传递函数; 3)利用对数坐标纸手工绘制校正前、后及校正装置对数频率特性曲线; c R R

PID自适应控制学习与Matlab仿真

PID自适应控制学习与Matlab仿真 0 引言 在P ID控制中,一个关键的问题便是P I D参数整定。传统的方法是在获取对象数学模型的基础上,根据某一整定原则来确定PID参数。然而实际的工业过程往往难以用简单的一阶或二阶系统来描述,且由于噪声、负载扰动等因素的干扰,还可以引起对象模型参数的变化甚至模型结构的政变。这就要求在P I D 控制中。不仅PID参数的整定不依赖于对象数学模型,而PID参数能在线阐整,以满足实时控制的要求。 1 自适应控制的概念及分类 控制系统在设计和实现中普通存在着不确定性,主要表现在:①系统数学模型与实际系统间总是存在着差别,即所谓系统具有末建模的动态特性;②系统本身结构和参数是未知的或时变的;③作用在系统上的扰动往往是随机的,且不可量测;④系统运行中,控制对象的特性随时间或工作环境改变而变化,且变化规律往往难以事先知晓。 为了解决控制对象参数在大范围变化时,一般反馈控制、一般优控制和采用经典校正方法不能解决的控制问题。参照在日常生活中生物能够遏过自觉调整本身参数改变自己的习性,以适应新的环境特性。为此,提出自适应控制思想。 自适应控制的概念 所谓自适应控制是指对于控制对象的动态信息了解得不够充分对周围环境变化尚掌握不够明确的情况下控制系统对控制器的参数进行积极的自动调节。 自适应控制方法应该做到:在系统远行中,依靠不断采集控制过程信息,确定被控对象的当前实际工作状态,优化性能准则,产生自适应控制规律,从而实时地调整控制器结构或参数,使系统始终自动地工作在最优或次最优的运行状态下。 作为较完善的自适应控制应该具有以下三方面功能: (1)系统本身可以不断地检测和处理理信息,了解系统当前状态。 (2)进行性能准则优化,产生自适应校制规律。 (3)调整可调环节(控制器),使整个系统始终自动运行在最优或次最优工作状态。 自适应控制是现代控制的重要组成部分,它同一般反馈控制相比较有如下突出特点: (1) 一般反馈控制主要适用于确定性对象或事先确知的对象,而自适应控制主要研究不确定对象或事先难以确知的对象。 (2) 一般反馈控制具有强烈抗干扰能力,即它能够消除状态扰动引起的系统误差,而自适应控制因为有辨识对象和在线修改参数的能力,因而能消除状态扰动引起的系统误差,而且还能消除系统结构扰动引起的系统误差。 (3) 一般反馈控制系统的设计必须事先掌握描述系统特性的数学模型及其环境变化状况,而自适应控制系统设计则很少依赖数学模型全部,仅需要较少的验前知识,但必须设计一套自适应算法,因而将更多地依靠计算机技术实现。 (4) 自适应控制是更复杂的反馈控制,它在一般反调控制的基础上增加了自适应控制机构或辨识器,还附加一个可调系统。 自适应控制系统的基本结构与分类 通常,自适应控制系统的基本结构有两种形式,即前馈自适应控制和反馈自适应控制。 1.2.1 前馈自适应控制结构 前馈自适应控制亦称开环自适应控制,它借助对作用于过程信号的测量。并通过自适应机构按照这些测量信号改变控制器的状态,从而达到改变系统特性的目的。没有“内”闭

基于Matlab 的对过程控制系统的PID 整定

基于Matlab 的对过程控制系统的PID 整定-企业管理论 文 基于Matlab 的对过程控制系统的PID 整定 孔凡杨 河南省心连心化肥有限公司河南新乡453700 摘要:本文就分析了串级控制系统的特点和设计,并分析了基于MATLAB 的增量式PID 算法应用在其中的应用,通过分析发现PID参数整定方法能够很好地实现串级控制系统的精度和稳定性。 关键词:MATLAB;串级控制;PID 整定 笔者在此介绍了一种采用基于MATLAB 的增量式PID 控制的双容无自衡串级贮槽液料控制系统,并在PID 参数整定方法的作用下实现了控制系统的良好控制效果。 1 串级控制系统的相关特点和设计分析 在对纯滞后和时间常数较大的对象控制中可使用串级控制系统,其对于系统控制质量的提高主要表现在以下几个方面,第一,是它能够很好地克服副回路中的二次干扰;第二,它能够使控制对象的时间常数减小;第三,它能够使动态特性在被控过程中得到改善,依此使控制系统的工作频率得以提高;第四,这种串级控制系统还能很好地适应操作条件和负荷的变化。 主回路和主参数的设计选择。在某些条件下,最直接有效的质量指标也可被选为主参数,不然在选择主参数时相关人员还可以选择一个与产品质量有单值函数关系的参数,但是灵敏度和工艺过程的合理性是这个被选主参数必须满足的条件。

副回路和副参数的设计与选定。较强的抑制扰动能力和较快的调节速度是串级控制系统副回路具备的主要优势,所以相关人员可以把尽可能多的一些扰动干扰放在副回路的设计中以充分利用副回路自身的优势,使其减少干扰对主参数的影响以提高其控制质量。 2 基于MATLAB 的串级控制系统分析 本文介绍的是一个串联式双容无自衡液位过程,由上方的进料管液料流进贮槽S1,然后再经过管道液料又流进贮槽S2,这时液料的流出受到变频调速器的控制,如果此变频调速器的工作频率是固定不变的,那么一个积分时间常数不变的积分环节就会在贮槽S2 中构成,在当前的工艺生产过程中液料位通常被要求在贮槽S2 中保持某一定值,令被控制量为h,使S1 中进料体积流量q 为控制变量,在这种情况下这个串联式双容无自衡液位过程的机构式可列为: 在这个串级控制系统中(如上图所示),副参数被选择为贮槽S1,主参数被选择为贮槽S2 的液位h,当控制系统运行时来自反馈的贮槽液位测量值就会被变频器收集并实现与设定值的对此,之后相关数据值就会被送入PID 模块进行计算,并实现输出频率的自动更改,以对液料流量和电机的转速实现调整,从而使贮槽液位实现稳定,和贮槽S1、S2 分别对应的液位传感器1 和2 将对其对应的贮槽信号的检测结果在A /D 转换的作用下传送到计算机,然后分别与两个PID 调节器设定值对比,并实现对其差别进行判断和计算。 MATLAB 的两个PID 算法程序被上位机所调用,PID1 的输入信号就是

基于MATLAB的PID控制器设计报告

基于MATLAB的PID控制器设计报告

————————————————————————————————作者:————————————————————————————————日期:

基于MAT LAB 的PI D 控制器设计 一.PID 控制简介 PID 控制是最早发展起来的经典控制策略, 是用于过程控制最有效的 策略之一。由于其原理简单、技术成,在实际应用中较易于整定, 在工业控制中得到了广泛的应用。它最大的优点是不需了解被控对象精确的数学模型,只需在线根据系统误差及误差的变化率等简单参数, 经过经验进行调节器参数在线整定, 即可取得满意的结果, 具有很大的适应性和灵活性。 PID 调节器是一种线性调节器,它根据给定值)(t r 与实际输出值)(t c 构成的 控制偏差: )(t e =)(t r -)(t c 将偏差的比例、积分、微分通过线性组合构成控制量,对控制对象进行控制,故称为PID 调节器。在实际应用中,常根据对象的特征和控制要求,将P 、I 、D 基本控制规律进行适当组合,以达到对被控对象进行有效控制的目的。例如,P 调节器,PI 调节器,PI D调节器等。 综上我选择P ID调节: 比例调节反应速度快,输出与输入同步,没有时间滞后,其动态特性好,但是比例调节的结果不能使被调参数完全回到给定值,而产生余差。比例调节的结果不能使被调参数完全回到给定值,而产生余差。在实际应用中为了达到更高的要求,常根据对象的特征和控制要求,将P 、I 、D 基本控制规律进行适当组合,以达到对被控对象进行有效控制的目的。所以我选择PID 调节。 P ID 是以它的三种纠正算法而命名的。这三种算法都是用加法调整被 控制的数值。而实际上这些加法运算大部分变成了减法运算因为被加数总是负值。这三种算法是: 比例- 来控制当前,误差值和一个负常数P(表示比例)相乘,然后和预 定的值相加。P只是在控制器的输出和系统的误差成比例的时候成立。这种控制器输出的变化与输入控制器的偏差成比例关系。比如说,一个电热器的控制器的比例尺范围是10°C,它的预定值是20°C。那么它在10°C的时候会输出100%,在15°C 的时候会输出50%,在19°C 的时候输出10%,注意在误差是0的时候,控制器的输出也是0。 积分 - 来控制过去,误差值是过去一段时间的误差和,然后乘以一个负

基于MATLAB的控制系统稳定性分析报告

四川师范大学本科毕业设计 基于MATLAB的控制系统稳定性分析 学生姓名宋宇 院系名称工学院 专业名称电气工程及其自动化 班级 2010 级 1 班 学号2010180147 指导教师杨楠 完成时间2014年 5月 12日

基于MATLAB的控制系统稳定性分析 电气工程及其自动化 本科生宋宇指导老师杨楠 摘要系统是指具有某些特定功能,相互联系、相互作用的元素的集合。一般来说,稳定性是系统的重要性能,也是系统能够正常运行的首要条件。如果系统是不稳定,它可以使电机不工作,汽车失去控制等等。因此,只有稳定的系统,才有价值分析与研究系统的自动控制的其它问题。为了加深对稳定性方面的研究,本设计运用了MATLAB软件采用时域、频域与根轨迹的方法对系统稳定性的判定和分析。 关键词:系统稳定性 MATLAB MATLAB稳定性分析

ABSTRACT System is to point to have certain function, connect with each other, a collection of interacting elements. Generally speaking, the stability is an important performance of system, also is the first condition of system can run normally. If the system is not stable, it could lead to motor cannot work normally, the car run out of control, and so on. Only the stability of the system, therefore, have a value analysis and the research system of the automatic control of other problems. In order to deepen the study of stability, this design USES the MATLAB software using the time domain, frequency domain and the root locus method determination and analysis of the system stability. Keywords: system stability MATLAB MATLAB stability analysis

基于MATLAB的DSPace快速控制原型开发系统

微纳科技cSPACE快速控制原型开发系统(基于MATLAB的DSP快速控制原型开发系统) 一.产品简介 (1) 二.系统组成 (2) 三.硬件资源 (4) 四.应用案例 (6) 4.1.直线电机驱动的二级倒立摆的控制 (6) 4.2.磁悬浮球系统的控制 (8) 4.3.三容水箱过程控制实验系统的控制 (9) 4.4.采用磁流变液阻尼器的1/4车辆振动实验系统的控制 (10) 一.产品简介 快速控制原型(Rapid Controller Prototyping,RCP)和硬件在回路实时仿真(Hardware-in-Loop,HIL)是目前国际上控制系统设计的常用方法,它把计算机仿真(纯软件)和实时控制(硬件在回路)有机结合起来,用户可把仿真结果直接用于实时控制,极大提高控制系统的设计效率。目前,这一系统或设计方法已经在高校和实验室得到普遍采用,最典型的例子为德国的dSPACE快速控制系统原型设计系统。 dSPACE卡是一个基于MATLAB/Simulink开发环境的自动代码生成工具,拥有快速控制原型开发和硬件在环仿真功能。应用这种方法,可使电控单元系统及机械控制系统的开发和测试简捷和高效。因此,dSPACE已经成为运动控制和过程控制开发的好工具,受到了全球用户的欢迎。 本公司研制的cSPACE快速控制原型和硬件在回路开发系统(以下简称cSPACE系统)基于TMS320F2812DSP开发,与dSPACE 公司的DS1104卡相当,拥有AD、DA、IO、Encoder和快速控制原型开发、硬件在环仿真功能,通过Matlab/Simulink设计好控制算法,将输入、输出接口替换为公司的cSPACE

相关文档
最新文档