MATLAB课件2013版第8章_第1页
MATLAB课件2013版第8章_第2页
MATLAB课件2013版第8章_第3页
MATLAB课件2013版第8章_第4页
MATLAB课件2013版第8章_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MATLAB 2013第第8章章 Simulink 仿真设计仿真设计8.1 Simulink入门入门认识仿真:认识仿真:以一个简单的实例为大家演示以一个简单的实例为大家演示Simulink的建模及仿真过程的建模及仿真过程 8.1 Simulink入门入门8.1.2 Simulink模块库浏览器模块库浏览器 在在 MATLAB 命令窗口键入命令窗口键入simulink命令命令 用鼠标点击用鼠标点击 MATLAB 菜单工具栏菜单工具栏HOMESimulink Library 打开模块浏览器打开模块浏览器Simulink Library Browser:8.2 Simulink模型的创建模型的创建

2、在在MATLAB命令窗口菜单工具栏上,选择命令窗口菜单工具栏上,选择HOMENewSimulink Model,新建一,新建一个名为个名为“untitled(无标题)(无标题)”的模型窗口。的模型窗口。 在在Simulink Library Browser模块库浏览模块库浏览器中选择器中选择FileNewModel或点击工具栏或点击工具栏新建模型按钮新建模型按钮 , 模型创建:模型创建:例例 8.2 跟我练:跟我练:编辑编辑x(t)=2sin(t)sin(10t) 仿真模型中的模块仿真模型中的模块 1. 建立模型窗口建立模型窗口2.模块添加。在模块添加。在Simulink模块库中找到该模块,模

3、块库中找到该模块,将这个模块拖入模型窗口中将这个模块拖入模型窗口中 单击模块浏览器中单击模块浏览器中Simulink前面的前面的“+”号,将看号,将看到到Simulink基本模块库中包含的子模块库;基本模块库中包含的子模块库; 单击单击Sources(信号源模块),在右边的窗口中(信号源模块),在右边的窗口中找到找到Sine Wave(正弦源),然后用鼠标将其拖(正弦源),然后用鼠标将其拖入到模型窗口。入到模型窗口。 按照同样的方法,在按照同样的方法,在Sinks(输出模块)中把(输出模块)中把Scope(示波器)拖到模型窗口中;在(示波器)拖到模型窗口中;在Math Operrations(

4、数学模块)中把(数学模块)中把Dot Product(点(点乘法器)拖到模型窗口中,乘法器)拖到模型窗口中, 模块调整模块调整 模块复制模块复制 修改模块名修改模块名 模块连接模块连接 插入模块插入模块信号线调整信号线调整 将光标放在待折处,按住Shift键,再按下鼠标左键,拖动鼠标至合适处,释放鼠标; 如需调整折点,则将光标指向待移动的折点处,当光标变为一个小圆圈时,按下鼠标左键并拖动鼠标至新折点处,释放鼠标。 增加示波器的入线头增加示波器的入线头 双击Scope模块,打开示波器;点击示波器Scope工具栏的parameters打开Scope parameters界面,选择General项,

5、将Number of axes后面的数字设置为3,其他保持默认值。然后点击Apply按钮,点击OK 信号线分支连接信号线分支连接 在信号线上的某点按下鼠标右键(不要松开),光标变为十字,拖动鼠标; 或按下键盘上Ctrl键,再在信号线上的某点按下鼠标左键(不要松开),光标变为十字,拖动鼠标。 模块参数设置模块参数设置 双击Gain模块,打开它的参数设置对话,将Gain参数设置为2,其他的按默认值; 双击sin(10t)模块,打开它的参数设置对话,将参数Frequency(rad/sec)设置为10; 其他的按默认值。 系统仿真参数设置系统仿真参数设置 设置好模块参数后,在开始仿真之前,用户还必须

6、要对Simulink的仿真参数进行设置。这包括:设置仿真的起、止时间;选择解算器(Solver)的类型;选择仿真步长;是否从外界获取数据;是否向外界输出数据等。打开模型,选择菜单SimulationModel Configuration Parameters命令或使用快捷键Ctrl+E打开模型仿真参数设置对话框 仿真参数设置共有仿真参数设置共有7大类选项大类选项: 解算器参数(Solver)设置,仿真数据输入/输出 (Data Import/Export) 设置,仿真优化 (Optimization) 设置,仿真异常诊断 (Diagnostics)设置 等等 系统仿真参数设置完后,保存,单击模

7、型窗口的系统仿真参数设置完后,保存,单击模型窗口的运行图标或单击模型窗口的运行图标或单击模型窗口的SimulationRun命命令进行仿真。令进行仿真。 系统仿真结束后,双击模型窗口的Scope示波器模块,观察仿真结果 利用利用Simulink仿真仿真sin(t)+sin(3t)的波形。的波形。 课课 堂堂 练练 习习8.3 Simulink的几类基本模块的几类基本模块8.3.1 输入源模型库输入源模型库Source名称名称功能功能说明说明Ground接地线接地线用于连接模块悬空的输入端,避免仿真时出现错误信息用于连接模块悬空的输入端,避免仿真时出现错误信息From File从文件读数据从文件

8、读数据从从MAT文件读取信号矩阵,该矩阵必须包含两行或两行文件读取信号矩阵,该矩阵必须包含两行或两行以上内容,第一行为时间,其余每行存放一个信号序列以上内容,第一行为时间,其余每行存放一个信号序列From Workspace从工作空间读取从工作空间读取数据数据从从Matlab工作空间指定的数组或构架中读取数据工作空间指定的数组或构架中读取数据Constant常量输出常量输出可以输出可以输出11标量、一维向量或二维矩阵常量,数值大标量、一维向量或二维矩阵常量,数值大小可调小可调Signal Generator信号发生器信号发生器可输出方波、正弦波、锯齿波可输出方波、正弦波、锯齿波Pulse Ge

9、nerator脉冲信号发生器脉冲信号发生器输出周期方波信号,幅值、周期、占空比、相位可调。输出周期方波信号,幅值、周期、占空比、相位可调。Sine Wave正弦信号输出正弦信号输出输出正弦信号,幅值,频率、相位可调输出正弦信号,幅值,频率、相位可调Step阶跃信号输出阶跃信号输出输出阶跃信号,阶跃时刻、阶跃前后幅值可调输出阶跃信号,阶跃时刻、阶跃前后幅值可调Clock(连续连续)仿真时钟仿真时钟输出每个仿真步的当前仿真时间输出每个仿真步的当前仿真时间例例8.5 如何使用如何使用From Workspace模块调用模块调用Matlab工作空工作空间的信号矩阵作为模型输入间的信号矩阵作为模型输入

10、跟我练:跟我练: 编写一个产生信号矩阵的编写一个产生信号矩阵的M文件文件 t=0:0.01:10;n=length(t);for i=1:n if t(i)=0 u(i)=t(i).2; elseif t(i)=3 u(i)=(4-t(i).2; else u(i)=0; endendTU=t,u; % t,u必须转换成列向量形式必须转换成列向量形式 构造一个简单的显示信号的实验模型构造一个简单的显示信号的实验模型 设置模块参数,双击模块From Workspace,弹出参数设置对话框,在“Data”栏中填写TU,按下“OK”键,保存参数设置 。 运行M文件 启动模型仿真 ,双击示波器Scop

11、e模块 ;观察仿真结果8.3.2接收模型库Sink名称名称功能功能说明说明Out1输出端口输出端口用来反映整个系统的输出端子,在模型线性化与命令仿真时必须使用用来反映整个系统的输出端子,在模型线性化与命令仿真时必须使用Terminator信号终结信号终结可以将该模块连接到闲置的未连接的模块输出信号上,避免出现警告可以将该模块连接到闲置的未连接的模块输出信号上,避免出现警告To File写文件写文件将输入的信号写到文件中将输入的信号写到文件中To Workspace工作空间写入工作空间写入数据数据将输入的信号写到将输入的信号写到Matlab的工作空间,默认为结构体型的数据的工作空间,默认为结构体

12、型的数据Scope示波器示波器将输入信号在示波器中显示将输入信号在示波器中显示Flating Scope浮动示波器浮动示波器可以同时显示一条或多条信号线上的多个信号可以同时显示一条或多条信号线上的多个信号XY Graphx-y示波器示波器将两路输入信号分别作为示波器的两个坐标轴,将信号的相轨迹显示将两路输入信号分别作为示波器的两个坐标轴,将信号的相轨迹显示出来出来Display数字显示数字显示将输入的信号写到文件中将输入的信号写到文件中Stop Simulation停止仿真停止仿真如果输入信号非零,则强行终止正在进行的仿真过程如果输入信号非零,则强行终止正在进行的仿真过程例例 8.6建立模型并

13、进行仿真建立模型并进行仿真其中积分(Integrator)模块位于Simulink中的连续系统(Continuous)模型库,该模块对输入信号起积分作用;滑动增益(Slider Gain)模块位于Simulink中的数学运算(Math Operation)模型库,该模块对输入信号进行放大,放大系数可调;模块设置参数 跟我练:跟我练: 双击Sine Wave模块,将相位(Phase)改为-pi/2,其它参数值不变; 双击Slider Gain模块 双击Floating Scope模块,打开Floating Scope模块显示窗,单击左上角图标 设置Floating Scope模块参数,参数界面,

14、将坐标轴数(Number of Axes)设置为3;按下OK键,保存设置; 单击图右上角图标 ,打开对话框,在Select Signals for Object ex806.mdl栏选则第一个坐标轴“Axes 1”,勾选Integrator 信号,该坐标轴选择显示选积分(Integrator)模块输出信号;依次类推分别为第二坐标轴,第三坐标轴选中Sine Wave模块输出信号,Slider Gain模块输出信号;单击Close完成设置 保存模型,启动仿真,观察仿真结果。需要注意的是:在仿真运行前要先打开Floating Scope示波器。例例 8.8利用利用Simulink构建函数曲线构建函数

15、曲线y=7t2+12 实例分析:实例分析:用Simulink构建函数曲线的方法有两种:一种方法是采用MATLAB函数模块(MATLAB Fcn模块或模块或Fcn(函数)模块);(函数)模块);另一种方法是采用基本模块组合构建。跟我练:跟我练:方法一、采用MATLAB函数模块构建建立一个函数式M文件,保存为f808.m 启动Simulink打开一个名为untitled的模型编辑窗口,将所需模块添加到模型中。从Sources模块库中拖入Clock(时钟)模块,从User-Defined Function(用户自定义函数)模块库中拖入MATLAB Fcn模块,从Sinks模块库中拖入To Works

16、pace、Scope等模块,并进行连接。function y=f808(t)y=7*t*t+12; 设置参数。双击两个To Workspace将两个的Variable name分别设置为t和y,将其Save format设置为Array;双击MATLAB Fcn模块,将MATLAB Function设置为M文件名f808,重新保存模型; 运行模型 ,观察仿真结果模型中的两个To Workspace将时间变量t和输出变量y存入了工作空间, 仿真结束后可使用plot(t,y)命令进行绘图查看仿真结果 也可以采用Fcn(函数)模块来构建函数表达式。从User-Defined Function(用户自

17、定义函数)模块库中拖入Fcn(函数)模块,连接各模块。双击Fcn模块,打开模块参数设置对话框,在Expression里输入函数表达式7*u*u+12,此时的参数需要替换为u,保存模型 方法二、采用基本木块组合构建方法二、采用基本木块组合构建 跟我练:跟我练: 采用一些数学模块进行组合,如常数(Constant)、增益(Gain)、乘(Product)和求和(Sum)等。增益模块的参数设置为7,常数模块的参数设置为12,最后设置仿真参数 用三种方法仿真用三种方法仿真y=3t2+1的波形的波形 课课 堂堂 练练 习习8.3.3连续系统模型库连续系统模型库 名称名称功能功能说明说明Integrato

18、r积分环节积分环节该模块将输入端信号经过数值积分,在输出端直接输出积该模块将输入端信号经过数值积分,在输出端直接输出积分后的信号分后的信号Derivative微分环节微分环节该模块将输入端信号经过一阶数值微分,在输出端直接输该模块将输入端信号经过一阶数值微分,在输出端直接输出微分后的信号出微分后的信号Zero-Pole零极点模型零极点模型该模块采用零极点形式定义传递函数该模块采用零极点形式定义传递函数State-Space状态方程状态方程该模块采用状态方程的形式对线性系统进行时域描述该模块采用状态方程的形式对线性系统进行时域描述Transfer Fcn传递函数传递函数该模块在频域对线性系统进行

19、描述该模块在频域对线性系统进行描述Transport Delay固定时间延迟固定时间延迟将输入信号延迟指定的时间后,在输出端直接输出延迟后将输入信号延迟指定的时间后,在输出端直接输出延迟后的信号的信号Variable Time/transport Delay可变时间延迟可变时间延迟Variable Tim Delay与与Variable transport Delay两者功能相两者功能相似,可以通过设置模块参数改为相同模块。相较似,可以通过设置模块参数改为相同模块。相较Transport Delay模块,该模块可通过输入信号定义延模块,该模块可通过输入信号定义延时时间时时间例例 8.9 利用利

20、用Simulink仿真仿真 10ln(2)Ixx dx跟我练:跟我练: 新建一个模型窗口新建一个模型窗口。 添加模块。添加模块。从Scources模块库拖入Clock模块;从Continuous模块库拖入Integrator模块;从User-Defined Function(用户自定义函数)模块库拖入Fcn(函数)模块;从Sinks模块库拖入Display(函数)模块。 连接各模块并设置参数,双击Fcn模块,打开模块参数设置对话框,在Expression里输入函数表达式u*log(2+u),此时的参数需要替换为u,其余参数采用默认值。 设置系统仿真参数。单击模型编辑窗口Simulation菜单

21、中的Configuration Parameters选项,打开仿真参数设置对话框,选择Solver选项。仿真其实时间设置为0,停止时间设置为1;算法选择中的Type设为Fixed-step; Solver设置为ode5;Fixed-step size 设置为0.001,保存模型。 课课 堂堂 练练 习习仿真模型:仿真模型:8.3.5 数学运算模块库数学运算模块库名称名称功能功能说明说明Gain增益函数增益函数输出信号等于输入信号乘以增益模块中指定的数值输出信号等于输入信号乘以增益模块中指定的数值Sum求和求和将输入的多路信号进行求和活求差,计算出输出信号将输入的多路信号进行求和活求差,计算出输

22、出信号Algebraic Constraint代数约束代数约束在在Simulink模型中引入某些代数方程求解算法,约束其输入模型中引入某些代数方程求解算法,约束其输入信号,使其值为零,该模块可用于微分代数方程的建模信号,使其值为零,该模块可用于微分代数方程的建模Complex to Real and Image提取复数实部和提取复数实部和虚部虚部输出输入复数的实部和虚部输出输入复数的实部和虚部Complex to Magnitude -Angle求复数幅值和相求复数幅值和相位位输出输入复数的幅值和相位输出输入复数的幅值和相位Product乘法运算乘法运算对输入信号进行乘法运算对输入信号进行乘法

23、运算Dot Product点乘运算点乘运算对两个输入向量对两个输入向量u1、u2进行点乘运算,其输出进行点乘运算,其输出y = sum(conj(u1) .* u2 )Math Function数学函数运算数学函数运算该模块可以实现许多常见的数学函数运算,如该模块可以实现许多常见的数学函数运算,如log、exp、sqrt、log10等等Trigonometric Function三角函数运算三角函数运算该模块可以实现许多常见的三角函数运算,如该模块可以实现许多常见的三角函数运算,如sin、cos、tan、asin、acos、atan等等例例8.12 已知一个二阶线性系统微分方程,其中已知一个二

24、阶线性系统微分方程,其中a=2,绘制系统的时间响应曲线和相平面图绘制系统的时间响应曲线和相平面图.1)0(, 0)0(0, 022xxaaxdtxd实例分析:实例分析:令x2=x, x1=x,则系统的状态方程 1)0(,0)0(122112xxaxxxx跟我练:跟我练: 添加相应模块,建立模型。 双击Gain增益模块,把增益倍数改为-2; 双击x1前的Integrator模块,打开模块属性设置对话框,把Initial Condition属性值改为1,其他属性保持默认值;x2前的Integrator模块的Initial Condition属性值就保持默认值0。 观察仿真结果1212221210

25、=10 =-22(1)xxxxxxxx()其初始值()课课 堂堂 练练 习习使用使用Simulink求解该方程求解该方程 8.4 子系统及其封装技术子系统及其封装技术建立子系统的方法有两种:建立子系统的方法有两种: 一种是自上而下,即通过Subsystem模块建立子系统; 一种是自下而上,即通过已有的模块建立子系统 例例 8.14 采用两种方法建立采用两种方法建立PID控制器的子系统控制器的子系统 1. 自上而下法,利用自上而下法,利用Subsystem模块建立子模块建立子系统系统新建一个仿真模型,在Port & Subsystems模块库找到Subsystem模块,并将其添加到模型编

26、辑窗口中。双击Subsystem模块打开一个空白的子系统窗口,编辑空白模块窗建立PID控制器的模型 关闭Subsystem窗口,返回模型窗 1. 自下而上法,建立子系统自下而上法,建立子系统建立PID控制系统模型, 8.42子系统的封装子系统的封装 建立子系统,将图中实现PID控制器功能的模块(需要用子系统来实现的模块)选中,单击鼠标右键,选择弹出菜单的Create Subsystem from Selection,建立PID控制器子系统,原来的模块被Subsystem模块取代。封装:封装:选中待封装的子系统,单击鼠标右键选择弹出菜单的MaskCreate Mask或点击菜单DiagramMaskCreate Mask 命令封装子系统,此时会弹出一个封装编辑器对话框。 在Icon Drawing commands编辑框输入如下命令:disp(PID);port_label(input,1,IN1);port_label(output,1,out1); 点击Apply 参数参数(Parameters)设置设置在Parameters选项卡中连续4次Add按钮,为PID控制器的4个参数准备输入位置。单击第一个参数位置,在prompt栏中输入该参数的提示信息,如Proportional Kp,在Variable栏中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论