1、计算机仿真技术实验指导书广西大学电气工程学院(内部使用)(宋绍剑 编写)2011 年 9 月1目 录实验一 Matlab 使用方法(数组和矩阵的基本运算)实验二 Matlab 程序设计基本方法实验三 数值计算与绘图实验四 Simulink 建模与仿真实验五 控制系统的分析(1)实验六 控制系统的分析(2)实验七 经典控制系统设计根轨迹法实验八 经典控制系统设计Bode 图法2实验一 熟悉 MATLAB 环境及基本运算一、实验目的: 1熟悉MATLAB开发环境2掌握矩阵、变量、表达式的各种基本运算二、实验基本知识: 1.熟悉MATLAB环境 熟悉MATLAB桌面和命令窗口、命令历史窗口、帮助信息
2、浏览器、工作空间浏览器文件和搜索路径浏览器。2.掌握 MATLAB 常用命令clc 清除命令窗口中内容clear 清除工作空间中变量help 对所选函数的功能、调用格式及相关函数给出说明lookfor 查找具有某种功能的函数但却不知道该函数的准确名称who 查询工作空间中的变量信息3.MATLAB变量与运算符变量命名规则如下: (1) 变量名可以由英语字母、数字和下划线组成(2) 变量名应以英文字母开头(3) 长度不大于31个(4) 区分大小写MATLAB中设置了一些特殊的变量与常量,列于下表。表1 MATLAB的特殊变量与常量变量名 功能说明 变量名 功能说明 ANS 默认变量名,以应答最近
3、一次操作运算结果 realmin 最小的正实数i或j 虚数单位 INF(inf) 无穷大pi 圆周率 NAN(nan) 不定值(0/0) eps 浮点数的相对误差 nargin 函数实际输入参数个数realmax 最大的正实数 nargout 函数实际输出参数个数 3MATLAB运算符,通过下面几个表来说明MATLAB的各种常用运算符表 2 MATLAB 算术运算符操作符 功能说明 操作符 功能说明 + 加 矩阵左除- 减 . 数组左除* 矩阵乘 / 矩阵右除.* 数组乘 ./ 数组右除 矩阵乘方 矩阵转置. 数组乘方 . 数组转置表 3 MATLAB 关系运算符操作符 功能说明 = 等于=
4、不等于 大于= 大于等于10100 的值(利用上题的n 阶乘函数文件)(两种方法)5、编写一个乘法表(9 9 ) 12实验三 MATLAB 的图形绘制一、实验目的: 1、学习MATLAB图形绘制的基本方法; 2、熟悉和了解MATLAB图形绘制程序编辑的基本指令; 3、熟悉掌握利用MATLAB图形编辑窗口编辑和修改图形界面,并添加图形的各种标注; 4、掌握plot、subplot的指令格式和语法。二、实验基本知识: 1、plot(x,y):绘制由x,y所确定的曲线; 2、多组变量绘图:plot(x1, y1, 选项1, x2, y2, 选项2, ); 3、双Y轴绘图:plotyy() 函数; 4
5、、图形窗口的分割; 5、图形编辑窗口的使用。 13三、实验内容 【1】二维曲线绘图基本指令演示。本例运作后,再试验plot(t), plot(Y), plot(Y,t) ,以观察产生图形的不同。t=(0:pi/50:2*pi); k=0.4:0.1:1; Y=cos(t)*k; plot(t,Y)plot指令基本操作演示14【2】用图形表示连续调制波形Y=sin(t)sin(9t) 及其包络线。要求自己修改绘图的颜色、线型和数据点的标记t=(0:pi/100:pi); y1=sin(t)*1,-1; y2=sin(t).*sin(9*t); t3=pi*(0:9)/9; y3=sin(t3).
6、*sin(9*t3);plot(t,y1,r:,t,y2,b,t3,y3,bo) axis(0,pi,-1,1)【3】在一个图形窗口绘制正弦和余弦曲线,要求给图形加标题“正弦和余弦曲线”,X轴Y轴分别标注为“ 时间t”和“正弦、余弦”,在图形的某个位置标注 “sin(t)”“cos(t)”,并加图例,显示网格,坐标为正方形坐标系。【4】绘制向量x=1 3 0.5 2.5 2 的饼形图,并把3对应的部分分离出来。【5】绘制参数方程x=t,y=sin(t),z=cos(t) 在t=0 7区间的三维曲线。【6】用hold on命令在同一个窗口绘制曲线y=sin(t),y1=sin(t+0.25)y2
7、=sin(t+0.5),其中t=0 10。【7】观察各种轴控制指令的影响。演示采用长轴为3.25,短轴为1.15的椭圆。注意:采用多子图(图6.2-4)表现时,图形形状不仅受“控制指令” 影响,而且受整个图面“ 宽高比” 及“子图数目”的影响。t=0:2*pi/99:2*pi; 15x=1.15*cos(t);y=3.25*sin(t); subplot(2,3,1),plot(x,y),axis normal,grid on, title(Normal and Grid on) subplot(2,3,2),plot(x,y),axis equal,grid on,title(Equal)
8、subplot(2,3,3),plot(x,y),axis square,grid on,title(Square) subplot(2,3,4),plot(x,y),axis image,box off,title(Image and Box off) subplot(2,3,5),plot(x,y),axis image fill,box off title(Image and Fill) subplot(2,3,6),plot(x,y),axis tight,box off,title(Tight)各种轴控制指令的不同影响1617实验四 Simulink 建模与仿真一 实验目的1 学习
9、SIMULINK 软件工具的使用方法;2 用 SIMULINK 仿真线性系统;二 实验内容1SIMULINK 简介SIMULINK 是 MATLAB 软件的扩展,它是实现动态系统建模和仿真的一个软件包,它与 MATLAB 语言的主要区别在于,其与用户交互接口是基于 Windows 的模型化图形输入,其结果是使得用户可以把更多的精力投入到系统模型的构建,而非语言的编程上。所谓模型化图形输入是指 SIMULINK 提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块的输入输出及模块的功能,而不必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统模型(
10、以.mdl 文件进行存取) ,进而进行仿真与分析。2 SIMULINK 的启动进入 SIMULINK 界面,只要你在 MATLAB 命令窗口提示符下键入SIMULINK,按回车键即可启动 SIMULINK 软件。在启动 S IMULINK 软件之后,SIMULINK 的主要方块图库将显示在一个新的 Windows 中。如图 4-1 所示: 在 MATLAB 命令窗口中输入 simulink :结果是在桌面上出现一个称为 Simulink Library Browser 的窗口,在这个窗口中列出了按功能分类的各种模块的名称。18图 4-1 SIMULINK 的主要方块图库3SIMULINK 的模
11、块库介绍SIMILINK 模块库按功能进行分为以下 8 类子库:Continuous(连续模块)Discrete(离散模块)Function1;2nan24在 SIMULINK 环境下,作该系统在以下参数时的仿真:设 a=1, =0.5,1,5 ,求阶跃响应, (用同一 Scope 显示) ;设 =1 , a=0.5,1,5 ,求阶跃响应在(用同一 Scope 显示) ;设:求阶跃响应(用同一 Scope 显示) ;设 求阶跃响应, (用同一 Scope 显示) ;阶跃响应的时间:0t10,阶跃信号幅值为+2V 。分析参数变化(增加、减少与不变)对阶跃响应的影响。25,2,1n0064532n
12、25实验五 控制系统的分析(1)一实验目的:1. 熟悉 MATLAB 软件分析系统时域响应方法。通过观察典型二阶系统在单位阶跃、脉冲、斜坡信号作用下的动态特性,熟悉各种典型的响应曲线。2. 通过二阶系统定性及定量了解参数变化对动态特性的影响。分析参数变化时对系统响应的影响。二实验设备:PC 机及 MATLAB 软件。三实验方法:1. 一阶系统阶跃响应:图示 RC 网络为一阶系统 图 5-1 研究图 5-1 所示电路,其运动方程为)()(trctT式中,T=RC 为时间常数.当初始条件为零时,其传递函数为1)(TsRCs若 R=1,C=0.01F, 则 T=RC=0.01s。 传递函数 (s)=
13、 1/(0.01s+1) 求单位阶跃响应的 MATLAB 程序如下:设 K=1、 T=0.01 % Exampleclearclear allnum=1;den=0.01 1;26step(num,den)执行后可得如下图形:图 5-2 2. 求当 K=1, T=0.1, 0.5, 1 , 2s 时的阶跃响应,记录曲线列表求出 ts 并分析。为读数方便,可加入 step(num,den);grid on。数据可保留两位有效数字(二)位置随动系统可以用如下二阶系统模型描述:22)(nssRCn自然频率 , 相对阻尼系数1试绘制 n=6, =0.2, 0.4, 1.0, 2.0 时的单位阶跃响应。
14、MATLAB 程序: % Example 2.1wn=6; kosi=0.1:0.2:1.0 ,2.0;figure(1)hold on for kos=kosinum=wn.2;den=1,2*kos*wn,wn.2;step(num,den)end title(Step Response)hold off272绘制典型二阶系统 ,当 =0.7, n=2, 4, 6, 8 时的单位阶跃响应。MATLAB 程序:% Example 2.2w=2:2:8;kos=0.5;figure(1)hold onfor wn=w num=wn.2;den=1,2*kos*wn,wn.2;step(num,
15、den)endtitle(Step Response)hold off要求记录 1、2 曲线波形,并求相应的 %、tr、ts、tp 列表分析实验结果,讨论参数变化对系统的影响。 3求二阶系统的 =0.5, n=10 时的单位冲激响应。222)(nnssMATLAB 程序: %Example 2.3%wn =10;kos=0.5;figure(1)num=wn.2;den=1,2*kos*wn, wn.2;impulse(num,den)title(Impulse Response);28记录曲线波形并求 ts、tp。4求高阶系统的单位阶跃响应:1486)75(3)(24ssMATLAB 程序:
16、 % Example 2.4num=3 15 21;den=1 6 8 4 1;step (num,den);gridtitle( Step Response)记录 3、4 波形并求 %、tr、ts、tp。上述程序如加语句:z, p=tf2zp(num,den)则可以求出零极点,从而可判断系统的稳定性。29实验六 控制系统的根轨迹1实验目的1) 掌握 MATLAB 软件绘制根轨迹的方法。2) 分析参数变化对根轨迹的影响。3) 利用根轨迹法对控制系统性能进行分析。2实验仪器1) PC 机一台2) MATLAB 软件3实验原理(1) 根轨迹的概念经典控制理论中,为了避开直接求解高阶特征方程式根时遇到的困难,提出了一种图解求根的方法,即根轨迹法。根轨迹是指当系统的某个参数从零变化到无穷时,闭环特征方程的根在复平面上的变化曲线。常规根轨迹一般取开环增益 K 作为可变参数,根轨迹上的点应满足根轨迹方程: 1)()(1*niimjjpszsHG其中 -开环零点, -开环极点, -根轨迹增益,是一个变化的参数(jzip*K) , , 为一常数。系统结构图如下:0AK*图 6-1 闭环系统结构图闭环特征根(即根轨迹上的点)应满足