《自动控制原理》仿真实验.docx

上传人:b****5 文档编号:14456631 上传时间:2023-06-23 格式:DOCX 页数:27 大小:519.86KB
下载 相关 举报
《自动控制原理》仿真实验.docx_第1页
第1页 / 共27页
《自动控制原理》仿真实验.docx_第2页
第2页 / 共27页
《自动控制原理》仿真实验.docx_第3页
第3页 / 共27页
《自动控制原理》仿真实验.docx_第4页
第4页 / 共27页
《自动控制原理》仿真实验.docx_第5页
第5页 / 共27页
《自动控制原理》仿真实验.docx_第6页
第6页 / 共27页
《自动控制原理》仿真实验.docx_第7页
第7页 / 共27页
《自动控制原理》仿真实验.docx_第8页
第8页 / 共27页
《自动控制原理》仿真实验.docx_第9页
第9页 / 共27页
《自动控制原理》仿真实验.docx_第10页
第10页 / 共27页
《自动控制原理》仿真实验.docx_第11页
第11页 / 共27页
《自动控制原理》仿真实验.docx_第12页
第12页 / 共27页
《自动控制原理》仿真实验.docx_第13页
第13页 / 共27页
《自动控制原理》仿真实验.docx_第14页
第14页 / 共27页
《自动控制原理》仿真实验.docx_第15页
第15页 / 共27页
《自动控制原理》仿真实验.docx_第16页
第16页 / 共27页
《自动控制原理》仿真实验.docx_第17页
第17页 / 共27页
《自动控制原理》仿真实验.docx_第18页
第18页 / 共27页
《自动控制原理》仿真实验.docx_第19页
第19页 / 共27页
《自动控制原理》仿真实验.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《自动控制原理》仿真实验.docx

《《自动控制原理》仿真实验.docx》由会员分享,可在线阅读,更多相关《《自动控制原理》仿真实验.docx(27页珍藏版)》请在冰点文库上搜索。

《自动控制原理》仿真实验.docx

《自动控制原理》仿真实验

第一部分MATLAB的基本知识及其应用

1.1MATLAB简介

1.1.1MATLAB的产生与发展

20世纪70年代,美国新墨西哥大学计算机科学系主任CleveMoler教授采用FORTRAN语言编写了一套交互式软件系统,称其为MATLAB,意思是“矩阵实验室,主要用于矩阵运算等数值处理功能。

1984年,CleveMoler教授联合其他数学家和软件专家成立了Mathworks软件开发公司,把MATLAB正式推向市场。

20世纪90年代初MATLAB已成为国际控制领域公认的标准计算软件。

1993年后,Mathworks公司推出MATLAB4.x版本。

1997年后,Mathworks公司又推出了MATLAB5.x版本。

2000年后Mathworks公司推出了最新产品MATLAB6.x版。

1.1.2MATLAB的主要特点

(1)符号运算功能强大

(2)控制算法选择容易

(3)编程语言简单易学

(4)扩充能力和可开发性强

(5)编程容易且工作效率高

1.1.3MATLAB6.x的主要改进及相关功能

(1)系统结构的改进

(2)新增的数值处理功能

(3)程序处理与控制功能

(4)其它控制产品

MATLAB6.x软件包中还集成了控制系统分析和设计的其它相关工具箱和软件包,借助这些工具箱和软件包,用户可以完成诸如系统辨识、系统建模、仿真以及鲁棒控制、模糊控制和神经网络控制等系统设计的任务。

所包含的内容几乎涉及到现代控制理论的所有内容,使MATLAB广泛运用于控制系统设计和制造的各个领域。

1.2MATLAB工作环境

1.2.1MATLAB的桌面

1.MATLAB的启动和退出

启动MATLAB方法有以下3种:

(1)双击系统桌面的MATLAB图标;

(2)在开始菜单的程序选项中选择MATLAB快捷方式;

(3)在MATLAB的安装路径的bin子目录中双击可执行文件matlab.exe。

启动MATLAB后,就可以进入MATLAB默认设置的桌面平台,如图1-1所示。

图1-1MATLAB的桌面平台

退出MATLAB可以采用的方法有:

Ø在文件操作的下拉菜单File中,选择ExitMATLAB命令;

Ø在命令窗口下,直接键入exit或quit命令,均可退出MATLAB;

Ø单击MATLAB主窗口的“关闭”按钮。

2.MATLAB的桌面平台

默认设置情况下的桌面平台包括6个窗口,各窗口的功能和特点简单介绍如下:

(1)MATLAB主窗口:

主窗口用来进行一些整体的环境参数的设置。

包括6个下拉菜单和10个按钮控件。

(2)命令窗口:

是MATLAB的主要交互窗口,用于输入命令以及显示除图形以外的所有执行结果。

在主窗口的“View”菜单下选择“CommandWindow”命令,可以打开或关闭MATLAB的命令窗口。

如图1-2所示。

图1-2MATLAB的命令窗口

(3)历史记录窗口

在主窗口的“View”菜单下选择“CommandHistory”命令,可以打开或关闭MATLAB的历史记录窗口,其窗口形式如图6-3所示。

在默认设置下,历史记录窗口中会保留自安装起所有命令的历史记录,并标明使用时间,双击某一行命令,即在命令窗口中执行该行命令。

单击某一行命令并拖动到命令窗口,再按回车键,也可执行该命令。

图1-3命令历史窗口

(4)当前目录窗口:

是指MATLAB运行文件时的工作目录,在主窗口的“View”菜单下选择“CurrentDirectory”命令,可以打开或关闭MATLAB的当前目录窗口,其形式如图1-4所示。

在当前目录窗口中可以显示或改变当前目录,还可以显示当前目录下的文件并提供搜索功能。

通过目录下拉列表框可以选择已经访问过的目录,还可以打开路径选择对话框,设置或添加路径。

图1-4当前目录窗口

(5)工作空间窗口:

是MATLAB用于存储各种变量和结果的内存空间,在主窗口的“View”菜单下选择“Workspace”命令,可以打开或关闭MATLAB的工作空间窗口,如图1-5所示。

工作空间窗口可以显示工作空间中所有变量的名称、大小、字节数和变量的类型说明,也可以对变量进行观察、编辑、保存和删除。

图1-5工作空间窗口

(6)发行说明书窗口:

这是MATLAB6.x版本所特有的,用来说明系统中已经安装的Mathworks公司各种产品目录,包括工具包、演示以及帮助信息等,如图1-6所示。

在主窗口的“View”菜单下选择“LaunchPad”命令,可以打开或关闭该窗口。

图1-6发行说明书窗口

1.2.3MATLAB帮助系统

MATLAB的帮助系统功能非常完善,有联机帮助系统、命令窗口查询帮助系统和联机演示系统等。

1.联机帮助系统

可以采用以下3种方式进入MATLAB的联机帮助系统。

(1)单击MATLAB主窗口工具栏中的Help按钮。

(2)选择Help下拉菜单中的“MATLABHelp”选项。

(3)在命令窗口中执行helpwin、helpdesk或doc命令。

联机帮助系统窗口如图6-8所示。

图1-8联机帮助窗口

2.命令窗口查询帮助

要了解MATLAB,最简洁快速的方式就是使用命令窗口查询帮助,通过帮助命令可以对特定的内容进行快速查询。

(1)help命令:

查询函数语法非常方便。

(2)lookfor命令:

查询根据用户提供的关键字搜索到的相关函数。

(3)模糊查询:

用户只要输入命令的前几个字母,然后按Tab键,系统就会列出所有以这几个字母开头的命令,方便了用户的使用。

3.联机演示系统

对于初学MATLAB的用户来说,该软件自带的联机演示系统非常有用。

要打开该系统可以通过单击MATLAB主窗口菜单的帮助“Help”来选择演示系统选项“Demos”,或者在命令窗口输入“demo”,都可以进入到MATLAB的演示界面,如图1-9所示。

图1-9演示界面窗口

1.3.1MATLAB数值运算

解析数学的一些基本问题都可用MATLAB的符号运算函数来解决,诸如函数的微分、积分、微分方程求解以及积分变换等。

1.变量与赋值

变量代表一个或若干个内存单元,要事先给变量命名和赋初值。

MATLAB会自动根据所赋予变量的值或对变量所进行的操作来确定变量的类型。

MATLAB中有一些预定义的变量,这些特殊的变量称为常量。

表6-1列出了经常使用一些特殊变量及其功能。

变量名

功能说明

ans

计算结果的缺省赋值变量

i或j

虚数单位

pi

圆周率

eps

浮点数的相对误差

realmax

最大正实数

realmin

最小正实数

inf

代表无穷大

nan

代表不定值(即0/0)

nargin

函数实际输入参数个数

nargout

函数实际输出参数个数

MATLAB的赋值语句有两种使用格式:

(1)变量=表达式

(2)表达式

第1种语句方式是将右边的表达式的值赋给左边的变量;

第2种语句的方式是将表达式的值赋给MATLAB的预定义变量ans。

2.矩阵的基本运算

(1)矩阵变量的赋值:

在MATLAB中,矩阵的输入很直观方便,矩阵元素用方括号“[]”括起来,相邻元素之间用逗号或空格分隔,采用分号可以实现换行。

【例1.1】已知矩阵A和C分别为:

在MATLAB中可以采用下面的指令来表示:

>>A=[1,2,3;4,5,6]

>>C=[4;5;6]

【例1.2】

如果要给变量A赋矩阵为:

可以在MATLAB的命令窗口中输入:

>>A=[1,2,3;4,5,6;7,8,9]

显示结果为:

A=

123

456

789

(2)矩阵的基本运算

MATLAB中的矩阵运算只要符合矩阵维数的要求即可,常用的算术运算和关系运算(包括逻辑运算)符。

【例1.3】对给定矩阵A和B做加减法运算如下:

>>C=A+B%C为矩阵A与B之和

>>D=A-B%D为矩阵A与B之差

运行结果为:

C=

144

6109

D=

102

203

【例1.4】对给定矩阵A和B做乘法运算如下:

>>C=A*B

运行结果为:

C=

711

1629

3.数值分析

(1)极小化:

MATLAB提供了fmin和fmins两个函数,分别用来寻找一维和n维函数的极值。

【例1.5】求函数f(x)=10*exp(-x)*cos(x)的极小值,可以采用下列语句:

fx=’10*exp(-x)*cos(x)’;%定义函数

fplot(fx,[2,5]);%画出给定函数的的曲线

Xmin=fmin(fx,2,5)%求极小值

运行的结果为:

Xmin=

2.3562

执行情况如图1-10所示。

图1-10函数的极值曲线

(2)求零点:

MATLAB提供了函数fzero(),用于寻找一维函数的零点。

【例1.6】对【例1.5】中的f(x)求解零点的过程如下:

>>Xzero=fzero(fx,5)%求与x=5相邻的零点

运行结果为:

Xzero=

4.7124

>>Xzero=fzero(fx,2)%求与x=2相邻的零点

运行结果为:

Xzero=

1.5708

(3)积分:

MATLAB提供了三个函数trapz、quad和quad8,可以计算函数在有限区域内的积分。

Trapz()是通过计算梯形面积来近似函数的积分;quad()使用Simpson递归方法;quad8()使用Newton-costes递归方法进行数值积分。

(4)微分:

MATLAB提供了一个有限插分函数diff,可以做数值微分,但使用有限插分进行近似将导致噪声的放大,造成较差的结果。

此外,MATLAB提供了很多实用的数值分析函数,常用的一些在表1-2中列出。

常用的数学计算函数列于表1-3中。

v表1-2常用的数值分析函数

函数名

功能

函数名

功能

max

最大值

cumrod

元素的累积

min

最小值

cumsum

元素的累加积

mean

均值

diff

差分函数

std

标准方差

hist

直方图

median

中值

tabel

列表

sort

排序分类

corr

相关矩阵

sum

元素的总和

cov

协方差矩阵

prod

元素的乘积

find

查找逻辑

v表1-3常用的数学计算函数

函数名

功能

函数名

功能

sin

正弦函数

sqrt

平方根函数

cos

余弦函数

log

自然对数函数

tan

正切函数

Log10

常用对数函数

asin

反正弦函数

exp

指数函数

acos

反余弦函数

abs

绝对值函数

atan

反正切函数

sign

符号函数

1.3.2MATLAB绘图

1.二维图形的绘制

绘制二维图形采用plot函数,对于不同形式的输入,该函数可以实现不同的功能。

其格式和处理功能分析如下:

(1)plot(x):

绘制的图形以向量索引为横坐标值、以向量元素值为纵坐标值,画出一条连续曲线即折线。

(2)plot(x,y):

绘制向量y对向量x的图形。

(3)plot(y,y,s):

绘制不同的线型、标识、颜色等图形。

其中s为一字符,代表不同线型、点标和颜色。

【例1.7】在MATLAB命令窗口输入以下命令:

y=rand(100,1);%y为1001的随机矩阵

plot(y)

运行后绘制的曲线如图1-11所示。

【例1.8】在MATLAB命令窗口输入以下语句:

t=0:

.1:

2*pi;%定义t的取值范围为0到2,步长为0.1

y=[sin(t);cos(t)];

plot(t,y)

运行后绘制的曲线如图1-12所示。

2.三维图形的绘制

三维图形绘制中经常用到的基本绘图命令有函数plot3、网图函数以及着色图等。

(1)plot3函数:

这是plot函数的三维扩展。

【例1.9】在MATLAB命令窗口输入以下命令:

[x,y]=meshgrid(-5:

.1:

5);%形成网格

z=exp(-(x.^2+y.^2));%取指数函数

plot3(x,y,z)%绘制曲线

运行后显示的图形如图1-13所示。

(2)网图函数:

函数mesh可以用来绘制三维的网图。

具体调用格式如下:

mesh(x,y,z,c):

绘制四个矩阵变量的彩色网格面图形。

观测点可由函数view定义,坐标轴可由axis函数定义,颜色由c设置,也可由函数colormap实现。

mesh(x,y,z):

使用c=z,即网图高度正比于图高。

除了上面介绍的二维、三位图形外,MATLAB还可以绘制其他的图形,如特殊的二维图形和三维图形,以及四维表现图等。

1.3.3MATLAB程序设计

1.MATLAB程序设计基本要求

(1)主程序开头用clear指令清除变量。

(2)程序文件放在MATLAB默认路径目录下。

(3)定义变量参数值要集中放在程序的开始部分。

(4)可在语句行的最后输入分号,其结果不会显示在屏幕上。

(5)尽量采用模块化程序设计,即主程序调用子程序的方法。

(6)语句与程序流程控制应符合MATLAB的语法规则。

(7)注意编辑/调试器用颜色来区分程序内容的类别。

(8)编程时,一行可以只有一个语句,也可有多个语句。

多语句之间以分号或逗号或回车换行结束。

(9)%后面的内容是程序的注释说明。

2.MATLAB程序流程控制

(1)分支选择语句:

有条件分支语句if与开关分支语句switch。

条件分支语句有以下三种格式:

1)单分支if-end语句:

if逻辑表达式

语句组

end

双分支f-else-end语句:

if逻辑表达式

语句组1

else

语句组2

end

多分支if-elseif-end语句:

if逻辑表达式1

语句组1

elseif逻辑表达式2

语句组2

else

语句组3

end

开关分支switch语句根据表达式的取值不同,分别执行不同的语句,其格式为:

switch表达式

case表达式1

语句组1

case表达式2

语句组2

otherwise

语句组n

end

(2)循环语句:

1)for循环语句,格式为:

for循环变量=起始值:

步长:

终止值

循环体语句组

end

2)while循环语句,语句格式为:

while表达式

循环体语句组

end

(3)MATLAB程序流程控制指令:

1)break()函数指令:

中断循环语句的执行。

2)return()函数指令:

是中断函数的运行,返回到上一级调用函数。

3)pause()函数指令:

暂停指令。

3.M文件与M函数

(1)M文件:

采用MATLAB语言编写的程序称为M文件,存储时以.m作为文件的扩展名。

M文件可以直接执行,用户只需在MATLAB的命令窗口输入该文件名然后回车即可。

M文件是一个文本文件,可以采用以下3种方法来建立。

1)菜单操作

2)命令按钮操作

3)命令操作

【例1.10】利用M文件编程计算出给定3行3列的A矩阵中各行元素之和。

在MATLAB命令行下输入edit命令以打开M文件编辑器,进入文本编辑器后,采用循环程序来实现,输入以下程序:

s=0;

a=[1,2,3;4,5,6;7,8,9];

fori=a

s=s+i;

end

disp(s’);

将该程序以M文件的形式保存在MATLAB缺省的用户工作目录下,或将其存盘为demomfile.m(系统默认)

(2)M函数:

M函数是由function语句引导的用户自定义函数。

和M文件不同,M函数必须由其他语句来调用。

M函数的基本格式为:

Function输出形参表=函数名(输入形参表)

注释说明语句段

函数体语句

输出形参如果是多个的话则应该用方括号括起来。

有了M函数之后,可以用下列形式进行函数调用:

输出形参表=函数名(输入变量的取值)

【例1.11】编写实现加减法运算的M函数,并进行调用。

方法如下:

首先编写M函数,函数取名为addec。

Function[outl,out2]=addec(inl,in2)

%实现加减运算

%[outl,out2];addec(m1,in2)

%outl=ihtl+int2;out2=inl-in2;

outl=inl+in2;

out2=inl-in2;

然后,在MATLAB的命令窗口调用这个函数文件:

[a,b]=addec(10,20)

disp([a,b])%在MATLAB的命令窗口输出a、b的值

显示结果为:

3010

第二部分Simulink简介及其应用

2.1Simulink简介

2.1.1Simulink概述

Simulink是一种以MATLAB为基础的实现动态系统建模、仿真与分析的软件包,具有以下的主要功能:

(1)可以实现交互式建立系统的动态模型。

(2)良好的交互式仿真环境。

(3)可以与高级编程语言有机连接。

(4)丰富的工具箱集成。

2.1.2Simulink的启动与界面

1.启动Simulink

(1)在MATLAB的命令窗口中输入simulink,然后按Enter键,可打开Simulink库浏览器而进入Simulink,如图7-1所示。

(2)在MATLAB的工具栏中,单击Simulink按钮也可进入Simulink的库浏览器窗口。

图2-1Simulink的库浏览器

2.Simulink的界面

Simulink界面上方是标题栏和菜单栏。

菜单栏下面是常用按钮及待查关键字填写栏,常用按钮的下面是对所选模块对象的文字说明。

Simulink界面的下方分为两部分,左边显示的是全部模块库,从中可以选择需要的模块库;右边显示选中的模块库中所有的模块。

3.Simulink的功能模块

Simulink提供了9个基本模块库,包括:

Ø连续系统模块库

Ø离散系统模块库

Ø函数与表模块库

Ø数学运算模块库

Ø非线性模块库

Ø信号与系统模块库

Ø输出模块库

Ø输入源模块库

Ø子系统模块库等标准模块库

2.2Simulink的基本操作

2.2.1模型窗口

Simulink用来绘制系统结构图模型的空白设计区称为模型窗口,即“untitled”窗口或称无标题空白窗口,如图7-2所示。

模型窗口中有7个下拉主菜单项,每个菜单项都是一条命令,只要用鼠标选中,即可执行菜单命令来完成规定的操作。

菜单项的下面是工具栏,为使用者提供了常用的快捷按钮。

工具栏下面空白处就是模型编辑窗口,可以在此处编辑系统的仿真模型。

图2-2“untitled”模型窗口

2.2.2模块的处理与连接

1.模块的选中

选中模块的方法有两种:

Ø用鼠标左键单击待选模块,模块四个角处出现小黑块,表示已经选中;

Ø选择一组模块可以按住鼠标左键拉出一个矩形虚线框,将所有待选模块框在其中,然后松开左键,每个模块四个角处都出现小黑块,表示所有模块同时被选中。

2.模块的复制

(1)从模块库中复制标准模块:

将鼠标指向待选模块,用鼠标左键单击之,待选模块四个角处出现小黑块表示选中,按住鼠标左键不放将所选模块拖曳到“untitled”窗口,松开鼠标即完成。

(2)在“untitled”窗口里复制模块:

选中待拷贝模块,运行“Edit”中的“Copy”命令,将光标移到要粘贴的地方按鼠标左键,看到选定的模块恢复原状,在选定的位置上再运行“Edit”中的“Paste”命令即可。

3.模块的移动

将光标置于待移动模块图标上,按住鼠标左键不放,将模块图标拖曳到目的地,放开鼠标左键,即可完成模块移动。

4.模块的删除和粘贴

选中的模块进行删除可按“Delete”键;粘贴操作时,选择“Edit”中的“Cut”命令,将选定模块移到剪贴板上再用“Paste”命令粘贴。

5.改变模块对象的大小

用鼠标选择对象模块图标,再将鼠标移到模块对象四周的控制小块处,鼠标指针将会变成或形状,此时按住鼠标左键不放,拖曳鼠标,待对象图标大小符合要求时即放开鼠标左键,这样就可改变模块对象图标的大小。

2.2.3系统模型的创建

创建系统模型首先要进入Simulink,然后选择所需要的模块,再用连线连接各模块,双击各模块后可完成对模块的参数设置和修改等操作。

【例7.1】控制系统的模型如下图所示,分析其创建过程。

解:

进入Simulink后,打开一个空白的模型窗口,按以下步骤进行操作:

(1)打开Sources模块库,选择库中的Step模块,用鼠标左键将其拖入到模型窗口,松开鼠标后出现一个Step模块,双击该模块可以设置它的跳跃时间、初值和终值,如图7-4所示。

图2-4添加并编辑Step模块

(2)打开Simulink的Continues模块库,选择该库中的TransferFcn模块,用鼠标左键将其拖到模型窗口,双击该模块来设置传递函数的表达式,如图7-5所示。

在Numerator文本框中输入分子系数[40],在Denominator文本框中输入分母系数[120],然后单击“OK”按钮。

图2-5添加并编辑TransferFcn模块

(3)用以上的方法添加第二个传递函数模块并进行相应的编辑。

(4)打开Math模块库,选择该库中的Sum模块,将其拖入到模型窗口,双击该模块设置其形状和输入端符号,如图7-6所示。

(5)打开Sinks模块库,选择该库中的Scope模块,用鼠标左键将其拖入到模型窗口。

(6)用信号线按将所有模块按传递要求连接起来,即可建立图7-3所示的模型图。

图2-6添加并编辑Sum模块

2.2.4模型文件的使用

编辑好一个模型后,可以在“untitled”模型窗口中选择“File”中的“Save”命令将模型以指定文件名存盘。

也可以在“untitled”模型窗口中选择“File”中的“SaveAs”命令,将模型文件在设定的路径与子目录下以一个新命名的文件名存盘。

2.3控制系统的Simulink仿真

2.3.1给定仿真模型的仿真分析

仿真的启动与结果观察:

(1)在Simulink的模型窗口下,选择“Simulation”中的“Start”命令可以对系统进行仿真。

(2)单击模型窗口下的“StartSimulation”按钮也可以对系统进行仿真。

建立了系统的仿真结构图且设置完仿真参数之后,就可以开始仿真实验,仿真结果的分析和观察方法有:

Ø通过“Scope”示波器、“XYGraph”二维X-Y图形显示器与“Display”数字显示器来直接查看图形或者数据;

Ø将仿真结果输入到“ToWorkspace”模块中,保存在MATLAB的工作空间里,再用绘图命令在MATLAB命令窗口里绘制出图形;

Ø将仿真结果返回到MATLAB命令窗口里,利用绘图

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2