控制工程基础试验指导书新
《控制工程基础》《控制工程基础》 MATLABMATLAB 仿真实验指导书仿真实验指导书 邵阳学院机械与能源工程系机制教研室 2009 年 8 月 目录目录 实验一控制系统应用软件学习使用及典型控制系统建模分析 1 实验二一、二阶系统时域特性分析 6 实验三控制系统频域特性分析 8 实验四控制系统稳定性仿真 . 11 实验五控制系统校正及 PID 仿真 . 2 15 实验一控制系统应用软件学习使用及典型控制系统建模分析 一、实验目的 1. 2. 3. 4. 掌握 MATLAB 软件使用的基本方法; 熟悉 MATLAB 的数据表示、基本运算和程序控制语句; 熟悉 MATLAB 程序设计的基本方法。 学习用 MATLAB 创建控制系统模型。 二、二、实验原理实验原理 1.1. MATLABMATLAB 的基本知识的基本知识 MATLAB 是矩阵实验室(MatrixLaboratory)之意。MATLAB 具有卓越的数值 计算能力, 具有专业水平的符号计算, 文字处理, 可视化建模仿真和实时控制等功能。 MATLAB 的基本数据单位是矩阵,它的指令表达式与数学,与工程中常用的形式十分相 似,故用 MATLAB 来解算问题要比用 C,FORTRAN 等语言完相同的事情简捷得多。 当 MATLAB 程序启动时, 一个叫做 MATLAB 桌面的窗口出现了。 默认的 MATLAB 桌 面结构如下图所示。 在 MATLAB 集成开发环境下, 它集成了管理文件、 变量和用程序的许多编程工具。 在 MATLAB 桌面上可以得到和访问的窗口主要有: 命令窗口命令窗口(The Command Window):在命令窗口中,用户可以在命令行提示符() 后输入一系列的命令, 回车之后执行这些命令, 执行的命令也是在这个窗口中实现的。 命令历史窗口命令历史窗口(The Command History Window):用于记录用户在命令窗口(The Command Windows),其顺序是按逆序排列的。即最早的命令在排在最下面,最后的命 令排在最上面。这些命令会一直存在下去,直到它被人为删除。双击这些命令可使它 再次执行。要在历史命令窗口删除一个或多个命令,可以先选择,然后单击右键,这 时就有一个弹出菜单出现,选择 Delete Section。任务就完成了。 1 工作台窗口工作台窗口(Workspace): 工作空间是 MATLAB用于存储各种变量和结果的内存空间。 在该窗口中显示工作空间中所有变量的名称、大小、字节数和变量类型说明,可对变量进行观察、编 辑、保存和删除。 当前路径窗口当前路径窗口(Current Directory Browser) MATLAB 命令常用格式为:变量=表达式 或直接简化为:表达式 通过“=”符号将表达式的值赋予变量,若省略变量名和“ =” 号,则 MATLAB 自动产生一个名为 ans 的变量。 变量名必须以字母开头,其后可以是任意字母、数字或下划线,大写字母和小写 字母分别表示不同的变量,不能超过19 个字符,特定的变量如:pi(=3.141596) 、 Inf(=∞) 、NaN(表示不定型求得的结果,如 0/0)等不能用作它用。 表达式可以由函数名、运算符、变量名等组成,其结果为一矩阵,赋给左边的变 量。 MATLAB 所有函数名都用小写字母。MATLAB 有很多函数,因此很不容易记忆。可 以用帮助(HELP)函数帮助记忆,有三种方法可以得到MATLAB 的帮助。最好的方法 是使用帮助空间窗口(helpbrowser) 。你可以单击 MATLAB 桌面工具栏上的图标,也 可以在命令窗口(The CommandWindows)中输入helpdesk 或helpwin 来启动帮助空间 窗口(help browser) 。你可以通过浏览 MATLAB 参考证书或搜索特殊命令的细节得 到帮助。 另外还有两种运用命令行的原始形式得到帮助。 第一种方法是在 MATLAB 命令窗口(The Command Windows)中输入 help 或 help 和所需要的函数的名字。如果你在命令窗口(The Command Windows)中只输入 help, MATLAB 将会显示一连串的函数。 如果有一个专门的函数名或工具箱的名字包含在内, 那么 help 将会提供这个函数或工具箱。 第二种方法是通过 lookfor 函数得到帮助。lookfor 函数与 help 函数不同, help 函数要求与函数名精确匹配,而 lookfor 只要求与每个函数中的总结信息有匹 配。Lookfor 函数比 help 函数运行起来慢得多,但它提高了得到有用信息的机会。 使用 HELP 函数可以得到有关函数的屏幕帮助信息。 常用运算符及特殊符号的含义与用法如下: +数组和矩阵的加法 -数组和矩阵的减法 *矩阵乘法 /矩阵除法 [ ]用于输入数组及输出量列表 ( )用于数组标识及输入量列表 ‘ ’ 其内容为字符串 ,分隔输入量,或分隔数组元素 2 ; 1.分开矩阵的行 2. 在一行内分开几个赋值语句 3.需要显示命令的计算结果时,则语句后面不加“; ”号,否则要加“; ” 号。 %其后内容为注释内容,都将被忽略,而不作为命令执行 …用来表示语句太长,转到第二行继续写 回车之后执行这些命令 举例:矩阵的输入 1 2 3 A= 4 5 6 7 8 9 矩阵的输入要一行一行的进行,每行各元素用(, )或空格分开,每行用(; )分 开。 MATLAB 书写格式为: A=[1,2,3;4,5,6;7,8,9] 或 A=[1 2 3 ;4 5 6 ;7 8 9] 回车之后运行程序可得到 A 矩阵 A = 1 2 3 4 5 6 7 8 9 需要显示命令的计算结果时,则语句后面不加“; ”号,否则要加“; ”号。 运行下面两种格式可以看出他们的区别 a=[1 2 3;4 5 6;7 8 9] a=[1 2 3;4 5 6;7 8 9]; a = 1 2 3(不显示计算结果) 4 5 6 7 8 9 2.2. 系统建模系统建模 (1)(1)系统的传递函数模型系统的传递函数模型 系统的传递函数为: C (s)b 1s mb 2 sm 1.b n sb m1G (s) R(s)a 1s na 2 sn 1.a n sa n 1 对线性定常系统,式中 s 的系数均为常数,且 a1 不等于零,这时系统在 MATLAB 中可以方便地由分子和分母系数构成的两个向量唯一地确定出来, 这两个向量可分别 3 用变量名 num 和 den 表示。 num=[b1,b2,…,bm,bm+1] den=[a1,a2,…,an,an+1] 注意:它们都是按 s 的降幂进行排列的。 举例: 传递函数: 输入: num=[12,24,0,20],den=[2 4 6 2 2] 显示: num = 12 24 0 20 den = 2 4 6 2 2 (2)(2)模型的连接模型的连接 1)并联:parallel 格式: [num,den]=parallel(nu