搜索
您的当前位置:首页正文

实验一、二 Matlab基础 及SIMULINK在控制中的应用

来源:六九路网
实验一 MATLAB基础

1.1 MATLAB初步了解及基本图形绘制

1.1.1MATLAB基本内容及图形绘制

1. 实验目的

1) 掌握MATLAB仿真软件的安装及启动。

2) MATLAB指令窗口,包括工具条以及菜单选项的使用;MATLAB语言的基本规定,包括数值的

表示、变量命名规定、基本运算符、预定义变量以及表达式等。 3) MATLAB在仿真中的应用。

4) 图形绘制功能以及和控制系统分析中的应用等。 2. 实验仪器

计算机一台 3. 实验内容

1) MATLAB的启动

这里介绍MATLAB装入硬盘后,如何创建MATLAB的工作环境。 2) MATLAB指令窗 (1) 工具条

直接打开Editor/Debugger编辑/调试窗

通过选中M文件打开Editor/Debugger编辑/调试器

或通过选中MDL文件打开SIMULINK模型窗

打开Simulink Library Browser浏览器 打开Help Window分类帮助窗

图1-1 在英文Windows平台上的MATLAB6.5指令窗

(2) 菜单选项

MATLAB工作窗具有标准的Windows界面,因此,可以通过工作菜单中的各种选项来实现对工作窗中内容的操作,此处仅介绍使用较多的菜单操作。

① 基本文件操作【File】选项 New Open

打开编辑/调试器、新图形窗、Simulink用的MDL文件 通过已有M文件打开编辑/调试器

② 编辑操作【Edit】选项 Cut Copy Paste

剪切 复制 粘贴

Clear Session 清除命令窗里的显示内容,但它不清除工作存中的变量 ③ MATLAB环境下工作窗管理【Windows】选项

如果没有图形的话,则只有一个【1. MATLAB Command Window】选项;如果有图形的话,则会有相

1

应的图形窗选项。 ④ 帮助【Help】选项

Help Windows 打开分类帮助窗 Help Tips Help Desk

Examples and Demos About MATLAB

3) MATLAB在仿真中的应用 (1) 简单数学计算

(i) 3721+7428/24 (ii) abs(-27) (iii) 6^3*(3+2) (2) 简单赋值运算

(i) x=18 (ii) y=3*x^2-78 (iii) u=x+y

(3) 矩阵赋值和运算

(i) A=[1,2,3,4,5] (ii) B=[1;2;3;4]

(iii) C=[2,3,1,5;5,3,2,7;9,5,6,2] 4) MATLAB的基本规定 (1) 数值的表示

MATLAB的数值采用十进制,可以带小数点或负号。以下表示都合法。 0 -100 0.008

12.752

1.8e-6

8.2e52

打开函数文件指令名帮助窗

打开以html超文本形式存储的帮助文件主页 打开MATLAB演示窗主页

MATLAB注册图标、版本、制造商和用户信息

(2) 变量命名规定 i)

变量名、函数名:字母大小写表示不同的变量名。如A和a表示不同的变量名;sin是MATLAB定义的正弦函数,而Sin,SIN等都不是。

ii) 变量名的第一个字母必须是英文字母,最多可包含31个字符(英文、数字和下连字符)。如A21

是合法的变量名,而3A21是不合法的变量名。

iii) 变量名中不得包含空格、标点,但可以有下连字符。如变量名A _b21是合法变量名,而A,21

是不合法的。 (3) 基本运算符

MATLAB表达式的基本运算符见表1-1。

表1-1 MATLAB表达式的基本运算符

加 减

数学表达式 a + b a-b MATLAB运算符 + - 2

MATLAB表达式 a + b a-b 乘 除 幂 a×b a÷b ab * /或\\ ^ a*b a/b或a\\b a^b [说明]MATLAB用左斜杠或右斜杠分别表示“左除”或“右除”运算。对标量而言,这两者的作用没有区别;对矩阵来说,“左除”和“右除”将产生不同的结果。 (4) MATLAB默认的预定义变量 在MATLAB中有一些预定义变量(predefined variable)。每当MATLAB启动,这些变量就被产生。用户在定义变量时,尽量避开表1-2所列预定义变量名,以免产生混淆。

表1-2 MATLAB的预定义变量

预定义变量 ans eps flops Inf或inf i或j pi (5) 表达式 MATLAB书写表达式的规则与“手写算式”几乎完全相同。 i)

表达式由变量名、运算符和函数名组成。

含义 计算结果的缺省变量名 机器零阈值 浮点运算次数 无穷大,如1/0 虚单元I = j = 圆周率π NaN或nan nargin nargout realmax realmin 未定式,如0/0 函数输入宗量数目 函数输出宗量数目 最大正实数 最小正实数 预定义变量 含义 1 ii) 表达式将按常规相同的优先级自左至右执行运算。

iii) 优先级的规定为:指数运算级别最高,乘除运算次之,加减运算级别最低。 iv) 括号可以改变运算的次序。

5) MATLAB图形绘制

在二维曲线绘制中,最基本的指令是plot( )函数。如果用户将x和y两组数据分别在向量x和y中存储,且它们的长度相同,调用该函数的格式为:

plot(x,y)

这时将在一个图形窗口上绘出所需要的二维图形,可在MATLAB的HELP中查找plot( )函数的相关内容,如曲线颜色和线型的改变。

在三维曲线绘制中,最基本的指令是plot 3( )函数。它使用格式与plot( )十分相似。 该函数的调用格式为:

plot 3(x,y,z,选项)

其中x,y,z分别为维数相同的向量,分别存储曲线的三个坐标的值;选项可以定义曲线的线型、颜色等信息。

(1) 绘制一个周期内的正弦曲线。 i)

先产生自变量t向量。

ii) 由给出的自变量向量求取其正弦函数值向量。

3

iii) 调用plot( )函数绘制曲线。 输入t0:0.01:2*pi; ysin(t); plot(t,y)

(2) 在一个绘图窗口上同时绘制多条曲线

t0:0.1:2*pi; y[sin(t);cos(t)]; plot(t,y)

(3) 假设有一个时间向量t,对该向量进行下列运算可以构成三个坐标的值向量 x = sin ( t ), y = cos ( t ), z = t

如果要用粗实线绘制该曲线,可键入下面的程序段

t = 0 : pi / 50 : 2*pi;

x = sin ( t ); y = cos ( t ); z = t; h = plot 3 (x, y, z, g –)

‘g

—“

中,‘g’表示绿色,‘’表示转型。

6) MATLAB语言在控制系统分析中的应用

若要在MATLAB环境下得到传递函数的形式,可以调用tf ( )函数。该函数的调用格式为

G = tf ( num, den );

其中 num, den 分别为系统传递函数的分子和分母多项式系数向量。返回的G为传递函数形式。 (1) 设系统传递函数

s35s23s2G4 32s2s4s3s1输入下面的命令

num = [1, 5, 3, 2]; den = [1, 2, 4, 3, 1];

G = tf ( num, den ) (2) 设系统传递函数

Gs5

s42s33s4输入下面的命令

num = [1, 5]; den = [1, 2, 0, 3, 4];

G = tf ( num, den )

4. 实验报告

1) 写出MATLAB仿真软件的工作环境特点。

2) 如何使用帮助文件。

3) 实现五个实验内容的所有题目,并将答案记录。 4) 整理在实验过程中遇到的问题及如何解决的。 5. 预习要求

1) 阅读实验内容及实验目的。

2) 完成对MATLAB软件的熟悉工作。

4

实验二 SIMULINK在控制的应用

1.1.2 SIMULINK简要介绍

1. 实验目的

1) SIMULINK的使用方法。

2) 熟悉SIMULINK模块库的分类及其相应用途。 3) 能够使用SIMULINK进行系统模型的建立并仿真等。 2. 实验仪器

计算机一台 3. 实验内容

1) SIMULINK的启动

要启动SIMULINK,先要启动MATLAB。在MATLAB窗口中单击按钮,如图2-1所示,或在命令窗口中输入命令SIMULINK,将会进入SIMULINK库模块浏览界面,如图2-2所示。单击窗口左上方的新建按钮,SIMULINK会打开一个名为untilited(无标题)的模型窗口,如图2-3所示。随后,按用户要求可以在此模型窗口中创建模型及进行仿真运行。

图2-1 启动SIMULINK

图2-2 Simulink的主界面—库模块浏览器

5

图2-3 空的模块窗口

2) SIMULINK模块库

SIMULINK提供了9类基本模块库:连续系统模块库(Continous)、离散系统模块库(Discrete)、函

数与表模块库(Function&Tables)、数学运算模块库(Math)、非线性系统模块库(Nonlinear)、信号与系统模块库(Signals&System)、输出模块库(Sink)、输入源模块库(Sourses)、子系统模块库(Subsystems)等基本模块库。各基本模块库的功能介绍见附录四。

除了公共模块库之外,SIMULINK 中还集成了许多面向不同专业领域的专业模块库,普通用户一般很

少用到其中的模块。因此,在介绍SIMULINK的专业模块库时,仅对模块库的总体功能做简单的概述。如果用户需要的话,可以在SIMULINK中的模块描述栏了解其主要功能。

除了基本模块库外,SIMULINK还提供许多面向各专业领域的专业模块子集:DSP模块集、定点运算

模块集、非线性控制设计模块集、电源系统模块集等。

3) 用SIMULINK建立系统模型及仿真 (1) SIMULINK建模方法

启动SIMULINK程序后,打开一个空白的模型编辑窗口来建立新的系统模型;打开相应的子模块库,选择所需要的元素,拖动到模型编辑窗口的合适位置;如要修改模块的参数,则需用鼠标双击该模块图标,这样就会出现相应的对话框,进一步提示用户修改模块参数;当所有的模块都画出来之后,则可以再画出模块间必要的连线,构成完整的系统。模块间的连线很简单,只需用鼠标点按起始模块的输出端(三角符号),再拖动鼠标,到终止模块的输入端处释放鼠标键,则会自动地在两个模块间画出带箭头的连线。

(2) 仿真题目

(i)完成积分环节及振荡环节的仿真分析,输入信号为阶跃信号。

(ii)在SIMULINK环境下搭建阶跃响应时的模型,并用示波器观测输出波形

s1 (传递函数形式)

s22s2s2 B)G(s)(零极点形式)

(s1)(s5)(s6)A)G(s)(iii)将上面题目中的示波器横轴终值修改为50。 4. 实验报告

4) 写出SIMULINK模块库的特点。 5) 如何修改用到的模块的参数。

6

6) 示波器模块的功能。

7) 完成仿真题目,并将答案记录。

8) 整理在实验过程中遇到的问题及如何解决的。 5. 预习要求

1) 阅读实验内容及实验目的。

2) 完成对SIMULINK模块库的熟悉工作。

1.2.3MATLAB在时域分析中的应用

1. 实验目的

1) 通过用MATLAB及SIMULINK对控制系统的时域分析有感性认识。

2) 明确对于一阶系统,单位阶跃信号、单位斜坡信号以及单位脉冲信号的响应曲线图。 3) 对于二阶系统阶跃信号的响应曲线图以及四种不同阻尼比取值范围的二阶系统曲线比较图。 4) 利用MATLAB软件来绘制控制系统的零极点分布图以判断系统的稳定性。 5) 绘制系统根轨迹等。

注:实验内容(七)中的系统动态性能分析请于学习完性能指标的计算后做。

2. 实验仪器

计算机一台 3. 实验内容

1) 一阶系统的单位阶跃响应

在SIMULINK环境下搭建图2-4的模型,进行仿真,得出仿真曲线图。

图2-4 一阶系统的单位阶跃响应模型

分析仿真结果与理论情况是否统一,观测对应的各项性能指标的大概值。 2) 一阶系统的单位斜坡响应

在SIMULINK环境下搭建图2-5的模型,进行仿真,得出仿真曲线图,。

图2-5 一阶系统的单位斜坡响应模型

分析仿真结果与理论情况是否统一,观测对应的各项性能指标的大概值。

7

3) 一阶系统的单位脉冲响应

在medit环境下,编译一个.m文件,利用impulse()函数可以得出仿真曲线图。 此处注意分析在SIMULINK环境中可否得到该曲线图。 4) 二阶系统的单位阶跃响应 已知二阶系统

n2(s)22s2nsn其中,n5,0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,2.0,试在medit环境下,编译一个.m文件,采用单位阶跃信号输入,利用for循环以及figure()和hold on等函数和指令,得出仿真曲线图。并分析比较不同阻尼比对应的系统输出的情况。注:figure()函数和hold on指令可通过帮助文件查找其用法。

5) 绘制系统零极点图

得到下系统零极点分布图:(s)此函数的说明,并进行实验记录。

6) 绘制系统根轨迹 画出下系统的根轨迹(s)s1。注:此处用到的tf2zp函数,在帮助文件中找到

s(s2)(s5)0.59s1,要有网格线。注:此处用到的rlocus2(0.67s1)(0.01s0.08s1)函数,在帮助文件中找到此函数的说明,并进行实验记录。

7) 系统动态性能分析 对于G(s)20表示的二阶系统,编程得到当输入单位阶跃信号时,系统的性能指标:稳态2s5s20误差、上升时间、峰值时间、超调量以及调整时间。 4. 实验报告

1) 得到上述四个实验的曲线图。

2) 比较曲线图与理论值的异同,并给出结论。

3) 写出第四个实验项目的分析思路,实现过程,并列出程序代码。 4) 整理在实验过程中遇到的问题及解决方案。 5. 预习要求

1) 阅读实验内容及实验目的。

2) 明确对控制系统进行时域分析的目的。

8

因篇幅问题不能全部显示,请点此查看更多更全内容

Top