《系统仿真与MATLAB语言》实验指导书.docx

上传人:b****5 文档编号:8227271 上传时间:2023-01-30 格式:DOCX 页数:29 大小:645.31KB
下载 相关 举报
《系统仿真与MATLAB语言》实验指导书.docx_第1页
第1页 / 共29页
《系统仿真与MATLAB语言》实验指导书.docx_第2页
第2页 / 共29页
《系统仿真与MATLAB语言》实验指导书.docx_第3页
第3页 / 共29页
《系统仿真与MATLAB语言》实验指导书.docx_第4页
第4页 / 共29页
《系统仿真与MATLAB语言》实验指导书.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

《系统仿真与MATLAB语言》实验指导书.docx

《《系统仿真与MATLAB语言》实验指导书.docx》由会员分享,可在线阅读,更多相关《《系统仿真与MATLAB语言》实验指导书.docx(29页珍藏版)》请在冰豆网上搜索。

《系统仿真与MATLAB语言》实验指导书.docx

《系统仿真与MATLAB语言》实验指导书

系统仿真与MATLAB语言

实验指导书

 

韶关学院2012级自动化专业系统仿真与MATLAB语言实验

说明

 

1、所有同学必须参加实验课,按照排定顺序上机。

2、每次上机请登记在实验室记录本上,固定机位,一人一机。

3、本课程7次上机实验(其中前6次实验要提交纸质实验报告,第7次实验提交电子版实验报告)。

4、在机房内务必保持安静,不得大声喧哗,不得从事与实验无关事项,如打游戏、看电影等。

5、写好预习报告:

针对实验内容要求用自己的语言简要的写明实验目的、实验原理,并针对实验内容预先做好程序的编写。

所有实验项目必须提前编写程序!

不写预习报告不得参加实验!

6、数据记录

记录实验的原始数据,实验期间当场提交。

拒绝抄袭。

实验过程中要能回答我的提问。

7、实验内容

总结所做实验的内容

回答有关思考题

 

2014、9

 

实验一MATLAB语言工作环境和基本操作

一、实验目的:

熟悉MATLAB的工作环境,学会使用MATLAB进行一些简单的运算。

二、实验内容:

MATLAB的启动和退出,熟悉MATLAB的桌面(Desktop),包括菜单(Menu)、工具条(Toolbar)、命令窗口(CommandWindow)、历史命令窗口、工作空间(Workspace)等;完成一些基本的矩阵操作;学习使用在线帮助系统。

三、实验步骤:

1、启动MATLAB,熟悉MATLAB的桌面。

2、在命令窗口执行命令完成以下运算,观察workspace的变化,记录运算结果。

(1)(365-522-70)3

(2)area=pi*2.5^2

(3)已知x=3,y=4,在MATLAB中求z:

(4)输入C=1:

2:

20,则C(i)表示什么?

其中i=1,2,3,…,10;

(5)掌握MATLAB常用命令

>>who%列出工作空间中变量

>>whos%列出工作空间中变量,同时包括变量详细信息

>>savetest%将工作空间中变量存储到test.mat文件中

>>loadtest%从test.mat文件中读取变量到工作空间中

>>clear%清除工作空间中变量

>>help函数名%对所选函数的功能、调用格式及相关函数给出说明

>>lookfor%查找具有某种功能的函数但却不知道该函数的准确名称

如:

lookforLyapunov可列出与Lyapunov有关的所有函数。

(6)将下面的矩阵赋值给变量m1,用whos命令察看m1在内存中占用的字节数,写出下面各指令的运行结果并上机验证。

m1=

执行以下命令

>>m1(2,3)

>>m1(7)

>>m1(:

3)

>>m1(2:

3,1:

3)

>>m1(1,4)+m1(2,3)+m1(3,2)+m1(4,1)

(7)执行命令>>helpabs

查看函数abs的用法及用途,计算abs(3+4i)

(8)执行命令

>>x=0:

0.1:

6*pi;

>>y=5*sin(x);

>>plot(x,y)

(9)运行MATLAB的演示程序,>>demo,以便对MATLAB有一个总体了解。

(10)设计M文件计算:

x=0:

0.1:

10

 

当sum>1000时停止运算,并显示求和结果及计算次数。

(11)求[100,999]之间能被21整除的数的个数(提示利用函数rem)。

(12)建立一个字符串向量,删除其中的大写字母(使用find函数)。

四、思考题

1、以下变量名是否合法?

为什么?

(1)x2

(2)3col

(3)_row

(4)for

2、求以下变量的值,并在MATLAB中验证。

(1)a=1:

2:

5;

(2)b=[a'a'a'];

(3)c=a+b(2,:

实验2MATLAB程序设计

一、实验目的和要求:

1、熟练掌握MATLAB的程序流程控制结构

2、熟练掌握M文件的结构

3、熟练掌握函数的调用和参数传递

4、掌握MATLAB程序编辑、运行及调试方法

二、实验内容:

MATLAB的语法规则简洁,编程效率高,作为一个完整的程序语言,MATLAB也有其各种程序流程控制、文件格式和函数调用的规则,通过函数的调用就能够组成庞大的程序,完成复杂的功能。

三、实验步骤:

启动MATLAB后,点击File|New|M-File,启动MATLAB的程序编辑及调试器(Editor/Debugger),编辑以下程序,点击File|Save保存程序,注意文件名最好用英文字符。

点击Debug|Run运行程序,在命令窗口查看运行结果,程序如有错误则改正。

1、使用程序流程控制

Fibonacci数列的各元素为:

1,1,2,3,5,8,...,满足以下关系:

F1=1

F2=1

Fn=Fn-1+Fn-2

用M函数文件实现,数列的元素个数为输入变量。

(1)用while循环实现程序功能

(2)用for循环实现程序功能

(3)实现当某个元素大于50时,退出循环结构。

(提示:

使用break)

2、数论中一个有趣的题目:

任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。

重复此过程,最终得到的结果为1。

如:

21

3105168421

63105168421

编写程序,并运行程序验证程序是否正确。

3、编写一个函数,计算下面函数的值,给出标量x的值,调用该函数后,返回y的值。

function[y]=myfun1(x)

选择一些数据测试你编写的函数。

实验3MATLAB绘图

一、实验目的和要求:

1、熟练掌握MATLAB二维曲线的绘制

2、熟练掌握图形的修饰

3、知道三维图形的绘制

4、熟练掌握各种特殊图形的绘制

二、实验内容:

MATLAB的图形功能非常强大,可以对二维、三维数据用图形表现,并可以对图形的线型、曲面、视角、色彩、光线等进行处理。

与其他软件一样,MATLAB也可以实现GUI设计,是人机交互界面更加美观、方便。

三、实验步骤:

1、在同一坐标系下绘制下面三个函数在t[0,4]的图象,三条曲线分别采用不同的线形、颜色来绘制(此题采用两种不同的绘制方法实现在同一坐标系绘制三条曲线)。

2、x=[-2π,2π],y1=sinx、y2=cosx、y3=sin2x、y4=cos2x

(1)用MATLAB语言分四个区域分别绘制的曲线,并且对图形标题及横纵坐标轴进行标注(如下图所示)。

 

图1四分区绘制曲线

(2)另建一个窗口,不分区,用不同颜色、线型绘出四条曲线,并标注图例注解。

 

图2同一窗口绘制多条曲线

3、三维空间曲线绘制

z=0:

0.1:

4*pi;

x=cos(z);

y=sin(z);

plot3(x,y,z)

4、用mesh或surf函数,绘制下面方程所表示的三维空间曲面,x和y的取值范围设为[-3,3]。

5、特殊图形

MATLAB还提供了一些特殊的曲线以满足特殊的要求。

对函数y=sinx,分别绘制:

(1)绘制条形图(bar)

(2)绘制实心图(fill)

(3)绘制阶梯图(stairs)

(3)绘制火柴杆图(stem)

实验4MATLAB数值及符号计算

一、实验目的和要求:

1、熟练掌握MATLAB变量的使用

2、熟练掌握MATLAB矩阵和数组的运算

3、熟悉MATLAB多项式的运用

4、熟练掌握MATLAB符号表达式的创建

5、熟练掌握符号表达式的代数运算

6、熟练掌握符号微积分

7、掌握符号积分变换

8、熟悉符号方程的求解

二、实验内容和步骤:

1、

下列运算是否合法,为什么?

如合法,结果是多少?

(1)result1=a'

(2)result2=a*b

(3)result3=a+b

(4)result4=b*d

(5)result5=[b;c']*d

(6)result6=a.*b

(7)result7=a./b

(8)result8=a.*c

(9)result9=a.\b

(10)result10=a.^2

(11)result11=a^2

(12)result12=2.^a

2、用MATLAB求下面的的方程组。

(1)

(2)

3、已知

(1)求矩阵A的秩(rank)

(2)求矩阵A的行列式(determinant)

(3)求矩阵A的逆(inverse)

(4)求矩阵A的特征值及特征向量(eigenvalueandeigenvector)

4、关系运算与逻辑运算

已知a=20,b=-2,c=0,d=1,计算下列变量的值,并上机验证。

(1)r1=a>b

(2)r2=a>b&c>d

(3)r3=a==b*(-10)

(4)r4=~b|c

5、创建符号表达式和符号表达式的操作

对符号表达式

进行操作。

(1)创建符号变量,分别使用sym和syms命令

(2)求反函数和复合函数。

①用finverse函数求f和g的反函数

②用compose函数求f,g的复合函数

(3)符号微积分和极限。

①对f和g用diff求微分

②对f和g用int求积分

6、符号矩阵的操作

(1)创建符号矩阵

(2)符号矩阵的代数运算。

符号矩阵的大多数运算都与矩阵相同

计算A.'以及det(A)

(3)对符号矩阵A进行求特征值、对角阵等运算

(4)对符号矩阵A求极限和积分

7、符号方程的求解。

(1)代数方程求解。

对方程组进行

求解。

(2)符号微分方程求解

解方程组

实验5动态仿真集成环境——Simulink

一、实验目的

1、学习SIMULINK软件工具的使用方法;

2、用SIMULINK仿真线性系统;

二、实验内容及步骤

1.SIMULINK简介

SIMULINK是MATLAB软件的扩展,它是实现动态系统建模和仿真的一个软件包,它与MATLAB语言的主要区别在于,其与用户交互接口是基于Windows的模型化图形输入,其结果是使得用户可以把更多的精力投入到系统模型的构建,而非语言的编程上。

所谓模型化图形输入是指SIMULINK提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块的输入输出及模块的功能,而不必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统模型(以.mdl文件进行存取),进而进行仿真与分析。

2.SIMULINK的启动

进入SIMULINK界面,只要你在MATLAB命令窗口提示符下键入‘SIMULINK’,按回车键即可启动SIMULINK软件。

在启动SIMULINK软件之后,SIMULINK的主要方块图库将显示在一个新的Windows中。

如图5-1所示:

►在MATLAB命令窗口中输入simulink:

结果是在桌面上出现一个称为SimulinkLibraryBrowser的窗口,在这个窗口中列出了按功能分类的各种模块的名称。

图5-1SIMULINK的主要方块图库

3.SIMULINK的模块库介绍

►SIMILINK模块库按功能进行分为以下8类子库:

Continuous(连续模块)

Discrete(离散模块)

Function&Tables(函数和平台模块)

Math(数学模块)

Nonlinear(非线性模块)

Signals&Systems(信号和系统模块)

Sinks(接收器模块)

Sources(输入源模块)

4.SIMULINK简单模型的建立

(1)建立模型窗口

(2)将功能模块由模块库窗口复制到模型窗口

(3)对模块进行连接,从而构成需要的系统模型

5.SIMULINK功能模块的处理

(1)模块库中的模块可以直接用鼠标进行拖曳(选中模块,按住鼠标左键不放)而放到模型窗口中进行处理。

(2)在模型窗口中,选中模块,则其4个角会出现黑色标记。

此时可以对模块进行以下的基本操作:

Ⅰ)移动:

选中模块,按住鼠标左键将其拖曳到所需的位置即可。

若要脱离线而移动,可按住shift键,再进行拖曳;

Ⅱ)复制:

选中模块,然后按住鼠标右键进行拖曳即可复制同样的一个功能模块;

Ⅲ)删除:

选中模块,按Delete键即可。

若要删除多个模块,可以同时按住Shift键,再用鼠标选中多个模块,按Delete键即可。

也可以用鼠标选取某区域,再按Delete键就可以把该区域中的所有模块和线等全部删除;

Ⅳ)转向:

为了能够顺序连接功能模块的输入和输出端,功能模块有时需要转向。

在菜单Format中选择FlipBlock旋转180度,选择RotateBlock顺时针旋转90度。

或者直接按Ctrl+F键执行FlipBlock,按Ctrl+R键执行RotateBlock。

Ⅴ)改变大小:

选中模块,对模块出现的4个黑色标记进行拖曳即可。

Ⅵ)模块命名:

先用鼠标在需要更改的名称上单击一下,然后直接更改即可。

名称在功能模块上的位置也可以变换180度,可以用Format菜单中的FlipName来实现,也可以直接通过鼠标进行拖曳。

HideName可以隐藏模块名称。

Ⅶ)颜色设定:

Format菜单中的ForegroundColor可以改变模块的前景颜色,BackgroundColor可以改变模块的背景颜色;而模型窗口的颜色可以通过ScreenColor来改变。

Ⅷ)参数设定:

用鼠标双击模块,就可以进入模块的参数设定窗口,从而对模块进行参数设定。

参数设定窗口包含了该模块的基本功能帮助,为获得更详尽的帮助,可以点击其上的help按钮。

通过对模块的参数设定,就可以获得需要的功能模块。

Ⅸ)属性设定:

选中模块,打开Edit菜单的BlockProperties可以对模块进行属性设定。

包括Description属性、Priority优先级属性、Tag属性、Openfunction属性、Attributesformatstring属性。

其中Openfunction属性是一个很有用的属性,通过它指定一个函数名,则当该模块被双击之后,Simulink就会调用该函数执行,这种函数在MATLAB中称为回调函数。

Ⅹ)模块的输入输出信号:

模块处理的信号包括标量信号和向量信号;标量信号是一种单一信号,而向量信号为一种复合信号,是多个信号的集合,它对应着系统中几条连线的合成。

缺省情况下,大多数模块的输出都为标量信号,对于输入信号,模块都具有一种“智能”的识别功能,能自动进行匹配。

某些模块通过对参数的设定,可以使模块输出向量信号。

6.SIMULINK应用举例

以具有双积分环节的系统G(S)为例,该系统的开环是不稳定的,为了使系统稳定,使用超前校正环节K(S)进行串联校正,见图6-2。

+

图5-2系统结构框图

在建模之前,你需要创建一个工作区域。

创建一个工作区域的方法为,选择File项,然后再选择New,这将开始一个新的窗口,其窗口名为“Untiledl”,可以在该窗口内构造系统模型,并称这个窗口为工作窗口。

为了得到这个系统的阶跃响应,可以由两个传递函数、一个求和点、一个输入源及两个输出观测点等6个部分组成这个系统。

输入源的元件位于Sources库;传递函数与综合点方块都位于线性部分(Linear)库中。

用同样方法,可将该库中的TransferFcn与Sum图形拖曳到工作空间,然后关闭Linear库;

如何得到其仿真的输出结果。

在Sinks库中有三个功能方块可用于显示或存储输出结果。

Scope功能块可以像一台示波器,实时地显示任何信号的仿真结果。

ToWorkspace功能块可以把输出值以矢量的形式存储在MATLAB工作空间中,这样可以在MATLAB环境下分析与绘制其输出结果。

ToFile功能块可以把数据存储到一个给定名字的文件中。

用同样方法,将Scope拖曳到工作空间,并关闭Sinks库窗口。

打开Sum功能块,在ListofSigns处输入“+”、“—”符号。

如果综合点超过了两个输入点,只要简单地输入其正、负号,即可自动地增加其相应地输入点。

打开StepFcn功能块,有三个空白框可以填入参数。

Steptime是阶跃响应的初始时间。

此项可填0,即零时刻开始阶跃响应。

另外两项为初始值(Initialvalue)和终值(Finalvalue)。

这两项可分别输入0和1。

打开工作空间功能块。

输入y作为变量名(Variablename)。

最后,要将这些方块连接起来。

除Sources与Sinks功能块外,所有其他方块中至少有一个输出点,即在方块旁有一个符号﹥指向外面,也至少有一个输入点,即在方块旁有一个符号﹥指向里面,Sources功能块没有输入点,只有输出点,而Sinks功能块没有输出点,因此它仅有一个输入点。

系统的仿真方块图见图6-3。

图5-3系统的仿真方块图

7.SIMULINK仿真的运行

构建好一个系统的模型之后,接下来的事情就是运行模型,得出仿真结果。

运行一个仿真的完整过程分成三个步骤:

设置仿真参数、启动仿真和仿真结果分析。

(1)设置仿真参数和选择解法器

设置仿真参数和选择解法器,选择Simulation菜单下的Parameters命令,就会弹出一个仿真参数对话框,它主要用三个页面来管理仿真的参数。

I..Solver页,它允许用户设置仿真的开始和结束时间,选择解法器,说明解法器参数及选择一些输出选项。

★仿真时间:

注意这里的时间概念与真实的时间并不一样,只是计算机仿真中对时间的一种表示,比如10秒的仿真时间,如果采样步长定为0.1,则需要执行100步,若把步长减小,则采样点数增加,那么实际的执行时间就会增加。

一般仿真开始时间设为0,而结束时间视不同的因素而选择。

总的说来,执行一次仿真要耗费的时间依赖于很多因素,包括模型的复杂程度、解法器及其步长的选择、计算机时钟的速度等等。

★仿真步长模式:

用户在Type后面的第一个下拉选项框中指定仿真的步长选取方式,可供选择的有Variable-step(变步长)和Fixed-step(固定步长)方式。

变步长模式可以在仿真的过程中改变步长,提供误差控制和过零检测。

固定步长模式在仿真过程中提供固定的步长,不提供误差控制和过零检测。

用户还可以在第二个下拉选项框中选择对应模式下仿真所采用

II.。

WorkspaceI/O页,作用是管理模型从MATLAB工作空间的输入和对它的输出。

III..Diagnostics页,允许用户选择Simulink在仿真中显示的警告信息的等级。

(2)、启动仿真

I.设置仿真参数和选择解法器之后,就可以启动仿真而运行。

选择Simulink菜单下的start选项来启动仿真,如果模型中有些参数没有定义,则会出现错误信息提示框。

如果一切设置无误,则开始仿真运行,结束时系统会发出一鸣叫声。

II.除了直接在SIMULINK环境下启动仿真外,还可以在MATLAB命令窗口中通过函数进行,格式如下:

[t,x,y]=sim(‘模型文件名’,[totf],simset(‘参数1’,参数值1,‘参数2’,参数值2,…))

其中to为仿真起始时间,tf为仿真终止时间。

[t,x,y]为返回值,t为返回的时间向量值,x为返回的状态值,y为返回的输出向量值。

simset定义了仿真参数,包括以下一些主要参数:

AbsTol:

默认值为1e-6设定绝对误差范围。

Decimation:

默认值为1,决定隔多少个点返回状态和输出值。

Solver:

解法器的选择。

最后一步是仿真(Simulation),可以通过选择仿真菜单(SimulationMenu)执行仿真命令。

有两个可以供选择的项:

Start(开始执行)与Parameters(参数选择)。

在参数选择中,可以有几种积分算法供选择。

对于线性系统,可以选择Linsim算法。

对应项分别输入如下参数:

StartTime0(开始时间)

StopTime9.9(停止时间)

RilativeError0.001(积分一步的相对误差)

MinimumStepSize0.1(最小步长)

MaximumStepSize0.1(最大步长)

在ReturnVariable方框中,还可以输入要返回的变量参数。

如在此方框中填入t,在仿真之后可以在MATLAB工作空间中得到两个变量,即t与y。

参数选择完毕后,关闭该窗口。

此时,你可以选择Start启动仿真程序,在仿真结束时,计算机会用声音给予提示。

阶跃响应图如图5-4所示。

图5-4阶跃响应图

练习5-1在SIMULINK环境下,作T1、T2、T3系统的阶跃响应;

将T1、T2、T3系统的阶跃响应图在同一Scope中显示。

练习5-2典型二阶欠阻尼系统的传递函数为:

极点位置:

式中:

在SIMULINK环境下,作该系统在以下参数时的仿真:

①设ωa=1,σ=0.5,1,5,求阶跃响应,(用同一Scope显示);

②设σ=1,ωa=0.5,1,5,求阶跃响应在(用同一Scope显示);

③设:

求阶跃响应(用同一Scope显示);

④设

求阶跃响应,(用同一Scope显示);

阶跃响应的时间:

0≤t≤10,阶跃信号幅值为+2V。

分析参数变化(增加、减少与不变)对阶跃响应的影响。

练习5-3直流电动机双闭环调速系统如图所示。

(1)以给出的方式建立系统的SIMULINK的模型,并进行仿真,用示波器观察系统的阶跃响应曲线;

(2)调整转速调节器(as+1)/0.085s的a参数,选择a=0.5,观察其系统的阶跃响应曲线并进行比较。

实验6控制系统的计算机辅助分析

一、实验目的和要求:

1、熟练掌握线性系统的模型描述

2、掌握线性系统稳定性分析

3、熟练掌握线性系统的时域分析

4、熟练掌握线性系统的频域分析

5、掌握根轨迹分析

二、实验内容:

1、参考下面的程序,编写程序计算传递函数为

的阶跃响应特参数:

⑴超调量σ%;⑵上升时间Tr;⑶峰值时间Tp;⑷过渡过程时间Ts;

—-———————————————————————————

附录:

计算超调量σ%、上升时间Tr、峰值时间Tp、过渡过程时间Ts的函数文件;

%MATLABPROGRAMEG2-4

function[pos,tr,ts2,tp]=stepchar(t,y);

%findingPosandTp

[mp,ind]=max(y);dimt=length(t);yss=y(dimt);

pos=100*(mp-yss)/yss;tp=t(ind);

i=1;j=1;k=1;q=1;

whiley(i)<0.1;

i=i+1;

end;

t1=t(i);

whiley(j)<0.9;

j=j+1;

end;

t2=t(j);tr=t2-t1;

%Findingsettlingtime(twopercent)Ts

i=dimt+1;n

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

当前位置:首页 > 经管营销 > 财务管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1