
机电控制工程基础实验指导书.doc
15页交通与汽车工程学院《机电控制工程基础》实验指导书适用专业: 车辆 ,汽电 课程代码: 6010119 学时: 学分: 编写单位: 汽车工程系 编 写 人: 赵 玲 审 核 人: 唐 岚 审 批 人: 孙 仁 云 2012年10月目 录 Matlab基础…………………………………………………………………………3实验一 控制系统时域仿真……………………………………… 10实验二、频域仿真分析和稳定性研究……………………………………………14实验三、系统校正………………………………………………………………… 16主要参考文献 ……………………………………………………………………17 Matlab基础关于MATLAB MATLAB是Matrix laboratory的缩写,是美国的MATHWORK公司开发的一种进行科学和工程计算的交互式程序语言1984年推出第一个商业版本,到现在已经到了6.1版本,功能日趋完善和强大。
主要适用于矩阵运算及控制和信息处理领域的分析设计另外还包括仿真、系统辨识、神经元网络、模糊控制等工具箱其中Simulink仿真工具箱可以利用图形界面和框图来编程和仿真运行MATLAB程序的流程• MATLAB软件通常工作在交互状态下,当键入一条命令后,MATLAB系统立即执行该命令并在屏幕上显示结果;• MATLAB系统也可以执行储存在文件中的命令序列这两种工作方式构成了系统的解释环境数字运算MATLAB可以像计算器一样直接进行数学运算 在MATLAB命令窗口内输入: 80*0.8+16*12.2 ans = 259.2000帮助命令help MATLAB提供了大量的函数和命令,如果想记住所有的函数及其调用格式几乎是不可能的帮助可以由help 命令来获得在MATLAB 的命令窗口直接键入help即可得到所有的帮助主题如果要对某一命令或函数进行查询,直接在help后跟上该命令或函数即可 变量的命名规则变量名对大小写敏感变量名的首字符必须是字母每个变更名最多可包含19个字符函数的命名规则与变量相同 表达式 MTLAB对使用者键入的表达式进行翻译和计算,语句的形式通常为: 变量=表达式; 或简单地写作: 表达式; 其中分号是可选的,如果该语句的最后一个字符是分号,则在执行词句时不在屏幕上显示结果。
表达式是由运算符,函数以及变量名组成例如:z=r*sin(x)简单矩阵的输入 矩阵不需维数说明和类型定义,存储单元完全由计算机自动分配输入矩阵最简单的方法是输入矩阵的元素表,每个元素之间用空格或逗号隔开,用“;”号作为元素表中每一行的结束符,并用[ ]将元素表括起来例如,输入语句:a=[1 2 3;4 5 6;7 8 9]则结果为:a = 1 2 3 4 5 6 7 8 9 向量的产生 冒号是MATLAB中一个重要的字符 语句:x=1:5 产生一个行向量,其元素为1至5的数,每个数较前一数字递增1即:x=[1 2 3 4 5 ],增量也可以是其它数 如:y=[0:2:10] 则 y=[0,2,4,6,8,10]矩阵操作1、转置: 若a=[1 2 3;4 5 6] b=a' 得b = 1 4 2 5 3 62、求逆(inverse) 使用函数inv(a),例如: a=[1 2 0; 2 5 -1; 4 10 -1] inv(a) ans = 5 2 -2 -2 -1 1 0 -2 13、矩阵的加、减、乘。
两个同维矩阵,才能进行加减运算 c= a+b; d=a-b;a的列数等于b的行数,则e=a*b;例如:a=[1 3 5 7], b=[2 4 6 8]则 a.*b’ ans = 2 12 30 56MATLAB程序的流程 MATLAB通常工作在交互状态下,当键入一条命令后,MATLAB系统立即执行该命令并在屏幕上显示结果; MATLAB系统也可以执行储存在文件中的命令序列这两种工作方式构成了系统的解释环境 当面对一个问题,用文本编辑器编辑好MATLAB程序后,保存为后缀为“.m”的文件(实质为MATLAB命令序列),执行时在命令窗口键入M文件名后回车或用菜单命令MATLAB程序的流程 MATLAB具有类似其它语言while ,for循环语句,可以实现一条语句或一组语句的多次重复执行1、for循环 for i = 1:n, for j = 1:n a(i , j) = 1/(i+j-1); end end 重复执行FOR 和END之间的命令,可以嵌套。
2、while循环 while 表达式 语句 end例:n=1;y=0; while n<=100 y=y+n; n=n+1; end得 y =50503、if语句 if x>0 x=x ; else x= - x ; end图形处理MATLAB有强大图形处理功能,能处理二维、三维及图形对象或句柄图形二维图形处理常用命令有:figure 创建图形窗口plot、fplot、ezplot 基本的二维绘图命令semilogx、semilogy、semilog,同plot,但此行的命令坐标轴是lnx,lnyxlabel、ylabel、title 标注轴名称与图形标题text、gtext、legend 标注图形与图例的标注help graph2d 二维图形方面有命令help graph3d 三维图形方面有命令help specgrah 特殊图形方面有命令假设有两个同长度的向量 x 和 y, 则用 plot(x,y) 就可以自动绘制画出二维图来。
如果打开过图形窗口,则在最近打开的图形窗口上绘制此图,如果未打开窗口,则开一个新的窗口绘图〖例〗正弦曲线绘制: t=0:0.1:2*pi; %生成横坐标向量,使其为 0,0.1,0.2,...,6.2 y=sin(t); % 计算正弦向量 plot(t,y) %绘制图形 这样立即可以得出二维图 控制系统工具箱控制工具箱包含了进行控制系统分析与设计所必需的工具箱函数1)模型建立 (2)模型变换(3)模型简化 (4)模型实现(5)模型特性 (6)方程求解(7)时间响应 (8)频率响应(9)根轨迹 (10)估计器/调节器设计控制系统模型1)状态空间状态空间形式的系统方程写为: 在MATLAB中,这个系统简单的写为A、B、C、D四个矩阵的形式即可 Sys=ss(A,B,C,D)2)传递函数传递函数一般记为:在MATLAB中,直接用分子/分母系数表示Num=[b0,b1,b2…bm] den=[a0,a1,a2,….an] sys=tf(num,den) (3)零点增益模型(ZP) 在MATLAB中,用[z,p,k]矢量组表示Sys=zpk(z,p,k)模型之间的转换控制系统的时域分析 Impulse 脉冲响应 Step 阶跃响应 Lsim 任意输入模拟控制系统频域分析Bode Bode图Nyquist Nyquist图Margain 增益裕度和相位裕度例:figure,bode(sys1) 画其Bode图 figure,nyquist(sys1) 画Nyquist图margin(sys1) 求系统的幅值裕量与相位裕量控制系统稳定性分析在MATLAB中,可利用pzmap函数绘制系统的零极点图,从而确定系统的稳定性 调用格式: Pzmap(num,den)系统仿真工具箱SIMULINK 类似VB中在窗体上放置控件一样,SIMULINK用方框图的绘制代替了程序的编写。
SIMULINK主要完成两方面的工作 建立控制系统的模型 实现控制系统的仿真 SIMULINK启动 1. 在MATLAB的命令窗口中键入SIMULINK,就打开了SIMULINK的模块库(如图); 2. 在MATLAB命令窗口的file菜单中选择new命令的model,将打开一个新的空白窗口;3. 在MATLAB的工具栏中,按按钮,将打开一个新的空白窗口;连接与建模构成任何一个系统需要三步:选定典型环节、相互联接和给定环节参数实验一控制系统时域仿真一、实验目的 1) 了解、掌握计算机模拟典型环节的基本方法 2) 熟悉各种典型环节的阶跃响应曲线3) 熟悉二阶控制系统的阶跃响应曲线4) 理解ξ和ωn参数变化对系统动态特性的影响二、实验仪器、设备及材料 1、微机 2、Matlab软件三、实验内容一般来讲,线性连续控制系统通常都是由一些典型环节构成的,这些典型环节有比例环节、积分环节、一阶微分环节、惯性环节、振荡环节等1)惯性环节惯性环节的传递函数为:①当输人信号是单位阶跃信号时,惯性环节的单位阶跃响应曲线是什么形状呢?实验程序:for T=1:1:10;num=[1];den=[T,1];G=tf(num,den);Step(G);Hold on; end分析惯性环节的时间常数T与响应到达稳态值时间之间的关系?2)振荡环节 振荡环节的传递函数为:当输入信。
