控制理论与Matlab数学模型
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
该传递函数模型可以通过下面的语句输入到 MATLAB 工作空间。 >> num=6*[1,5];
den=conv(conv([1,3,1],[1,3,1]),[1,6]); tf(num,den)
运行结果 Transfer function: 6 s + 30 ----------------------------------------s^5 + 12 s^4 + 47 s^3 + 72 s^2 + 37 s + 6
2020/11/23
2
二. MATLAB的工作环境
2020/11/23
3
2020/11/23
4
2020/11/23
5
窗口中的符号“》”,表示MATIAB已准备好,正等待用户输入命 令。用户可以在“》”提示符后面输入命令,实现计算或绘图功能。
在命令窗口中,可使用方向键对已输入的命令行进行编辑, 如用“↑”键或“↓”键回到上一句指令或显示下一句命令。
num [b1, b2 , , bm , bm1 ] ;
(2)
den [1, a1, a2 , , an1, an ] ;
(3)
2020/11/23
8
在 MATLAB 控制系统工具箱中,定义了 tf() 函数,它可由传递函数分子分母给
出的变量构造出单个的传递函数对象。从而使得系统模型的输入和处理更加方便。
该模型可以由下面的语句输入到 MATLAB 工作空间中。 >> KGain=6; z=[-1.9294;-0.0353+0.9287j;-0.0353-0.9287j]; p=[-0.9567+1.2272j ; -0.9567-1.2272j ; 0.0433+0.6412j ;
0.0433-0.6412j]; G=zpk(Z,P,KGain)
(3)工作空间窗口“Work-space” 工作空间指运行MATLMB程序或 命令所生成的所有变量构成的空间。每打开一次MATLAB, MATIAB会自动建立一个工作空间。
2020/11/23
6
(4) 命令历史窗口“Command History”
2020/11/23
7
3 MATLAB 在控制系统中的应用
控制理论和Matlab数学模型
2020/11/23
1
MATLAB具有以下主要特点:
1)超强的数值运算功能。在MATLAB里,有超过500种的数学、统计、科 学及工程方面的函数可供使用,而且使用简单快捷。由于库函数都由本领域 的专家编写,用户不必担心函数的可靠性。
2)语法限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需 对矩阵预定义就可使用。
该函数的调用格式为:
G=tf(num,den);
(4)
例 2 一个简单的传递函数模型:
G(s)
s4
2s3
s5 3s 2
4s
5
可以由下面的命令输入到 MATLAB 工作空间中去。
>> num=[1,5];
den=[1,2,3,4,5];
G=tf(num,den)
Transfer function:
s+5
-----------------------------
s^4 + 2s^3 + 3s^2 + 4s + 5
2020/11/23
9
这时对象 G 可以用来描述给定的传递函数模型,作为其它函数调用的变量。 例 3 一个稍微复杂一些的传递函数模型:
G(s)
6(s 5)
(s 2 3s 1)2 (s 6)
构造出零极点对象,用于简单地表述零极点模型。该函数的调用格式为:
G=zpk(Z,P,KGain)
(9)
2020/11/23
11
例 4 某系统的零极点模型为:
G(s) 6
(s 1.9294 )(s 0.0353 0.9287 j)
(s 0.9567 1.2272 j)(s 0.0433 0.6412 j)
其中 conv()函数(标准的 MATLAB 函数)用来计算两个向量的卷积,多项式乘法 当然也可以用这个函数来计算。该函数允许任意地多层嵌套,从而表示复杂的计算。
2020/11/23
10
2.零极点模型 线性系统的传递函数还可以写成极点的形式:
G(s) K (s z1 )(s z2 ) (s zm ) (s p1 )(s p2 ) (s pn )
2020/11/23
12
运行结果: Zero/pole/gain: 6 (s+1.929) (s^2 + 0.0706s + 0.8637) ---------------------------------------------(s^2 - 0.0866s + 0.413) (s^2 + 1.913s + 2.421)
MATLAB 是国际控制界目前使用最广的工具软件,几乎所有的控制理论与应用分 支中都有 MATLAB 工具箱。本节结合前面所学自控理论的基本内容,采用控制系统工 具箱(Control Systems Toolbox)和仿真环境(Simulink),学习 MATLAB 的应用。
(1) 用 MATLAB 建立传递函数模型
3)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操 作系统上运行。
4)强大的数据可视化功能。在FORTRAN和C语言里,绘图都很不容易,但 在MATMB里,数据的可视化非常简单。MATIAB还具有较强的编辑图形界 面的能力。 5)丰富的工具箱;由各学科领域内学术水平很高的专家编写的功能强劲的工 具箱,使用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖 的研究。
1.有理函数模型 线性系统的传递函数模型可一般地表示为:
G(s) b1s m b2s m1 bm s bm1 s n a1s n1 an1s an
nm
wk.baidu.com
(1) 将系统的分子和分母多项式的系数按降幂的方式以向量的形式输入给两个变量
num 和 den ,就可以轻易地将传递函数模型输入到 MATLAB 环境中。命令格式为:
(5)将系统增益、零点和极点以向量的形式输入给三个变量 KGain、Z 和 P,就可
以将系统的零极点模型输入到 MATLAB 工作空间中,命令格式为:
KGain K;
(6)
Z [z1; z2; ; zm ];
(7)
P [ p1; p2; ; pn ];
(8)
在 MATLAB 控制工具箱中,定义了 zpk()函数,由它可通过以上三个 MATLAB 变量