MATLAB仿真技术与应用_第1页
MATLAB仿真技术与应用_第2页
MATLAB仿真技术与应用_第3页
MATLAB仿真技术与应用_第4页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、.专业整理 .例 2-1已知一个系统的微分方程为:dx1x2dtdx2u5x1dt其中,状态变量初始条件x1 (0) x2 (0) 0 ,输入 u 为阶跃函数 ,要求利用 SIMULINK 对系统建立仿真模型 ,并绘制时域响应曲线 。在利用 SIMULINK 创建模型之前 ,先把微分方程进行拉普拉斯变换,得到每个微分方程的传递函数 ,即用传递函数的形式表示系统。x21x11ssStepIntegratorIntegrator1Scope5Gain连接信号之后的系统模型图exam2_1系统时域响应曲线.学习帮手 .专业整理 .例 7-9一个控制系统由5 个子系统组成 ,组成结构如下图G1(s)G

2、2(s)Y(s)G4(s)R(s)G3(s)H(s)各子系统的传递函数分别为:G1 (s)s25s1 , G2 (s)4( s 6), G3 (s)10 ,G4 (s)s1, H ( s) 0.12s215s6( s 2)(s20)s 10s23s6试在 MATLAB 中分别用仿真模块建模和仿真命令编程两种方法进行仿真,并绘制系统的阶跃响应曲线图 。首先在 Simulink 环境下将所需要的仿真模块连接起来,并将各模块的参数设置好。s+54s+242s2+15s+6s2+22s+40Transfer FcnTransfer Fcn2s+1Steps2+3s+610Transfer Fcn3Sc

3、opes+10AddTransfer Fcn10.1H系统的仿真模型图exam7_9.学习帮手 .专业整理 .系统的阶跃响应MATLAB 程序如下 :%control system simulationclear all;clc;num1=1 5 1;den1=2 15 6;G1=tf(num1,den1);z=-6;p=-2;-20;k=4;G2=zpk(z,p,k);G3=tf(10,1 10);num4=1 1;den4=1 3 6;G4=tf(num4,den4);H=0.1;Gf=(G1*G2+G3)*G4;G=feedback(Gf,H);GG=tf(G);step(G);.学习帮

4、手 .专业整理 .%axis(0 10 0 0.35)grid on程序运行后得到的阶跃响应曲线如图所示。Step Response0.350.30.250.2edutilpmA0.150.10.05000.511.522.533.54Time (sec)系统的阶跃响应程序运行结果为 :Zero/pole/gain:12 (s+0.3845) (s+1) (s+2.199) (s+7.054) (s+18.45)-(s+19.99) (s+9.88) (s+7.077) (s+1.993) (s+0.4234) (s2+ 3.137s + 6.217)Transfer function:12

5、s5 + 349 s4 + 2699 s3 + 6654 s2 + 5612 s + 1320.学习帮手 .专业整理 .-s7+ 42.5 s6+ 628.7 s5+ 4227 s4+ 1.441e004 s3+ 2.788e004 s2+2.684e004 s + 7332从结果可以看出 ,采用仿真模块建模实现仿真的方法与采用仿真命令实现仿真的方法得到的仿真结果是完全相同的。采用哪一种方法进行仿真,可以根据实际情况而定。一般说来,采用仿真模块建模实现仿真的方法更简单、方便,但采用仿真命令实现仿真的方法更灵活。利用输出模块分析利用 SIMULINK 输出模块进行仿真结果分析输出有以下几种方法:

6、观察输出轨迹 ;以文件形式输出 ;直接显示数据输出 ;用表盘和量计显示输出;进行数字信号处理 、分析输出 。1观察输出轨迹 信号输入到 Scope 模块或 XY Graph( 相轨迹示波器 )模块观察输出轨迹 。.学习帮手 .专业整理 .sin(t)XY Graphsin(2t)图 exam2_21 将输出信号写入返回变量,并利用 MATLAB 命令绘图在仿真结束后 ,在 MATLAB 工作空间自动生成两个变量tout 和 yout ,分别返回时间矢量和各个输出端子的仿真结果。执行 plot(tout,yout)得图示结果 。1x21x1ss1Out1StepIntegratorIntegra

7、tor15Gain图 exam2_23.学习帮手 .专业整理 .0.40.350.30.250.20.150.10.050012345678910 使用 ToWorkspace 模块把输出写入到MATLAB 工作空间 ,然后通过 MATLAB 的绘图命令绘制输出轨迹 。1x21x1simoutssStepIntegratorIntegrator1To Workspace5x1GainStepIntegratorIntegrator1To Workspace图 exam2_252. 以文件形式输出仿真结果Gainuntitled.matTo File利用输出模块中的To file 模块可以将仿真

8、结果以Mat 文件的格式直接保存到数据文件中。3. 直接显示数据输出.学习帮手 .专业整理 .4. 表盘和量计显示输出Dials & Gauges5. 信号处理 、分析输出DSP 模块、SIMULINK Extra 模块sin(t)AddPower SpectralDensitysin(2t)图 exam2_29.学习帮手 .专业整理 .2.5 子系统随着研究的系统越来越大,越来越复杂 ,直接使用基本的SIMULINK 模块创建的系统模型会十分庞大 ,而且信号的传输方向也会变得十分不明显。为了简化模型以及增加它的可读性,可以将一些独立功能的模块化分成一组,构成子系统 。子系统的创建使用

9、子系统不仅可以使仿真模型中显示的模块数量减少,便于读图 ,而且还建立了层次化的仿真模型框图 ,子系统模块在一个层次,组成各个子系统的模块在另外一个层次。.学习帮手 .专业整理 .创建子系统的方法有两种:一种是利用模型中已经存在的模块创建子系统;另一种是通过向子系统模块加入新的模块创建子系统。1. 通过已有模块创建子系统1s1KpIntegrator1In1GainOut1Adddu/dtDerivative图 exam2_331In1Out11In1Out1Subsystem1In1Out11In1Out1PID Controller通过比例 、微分、积分模块创建 PID 控制器子系统的具体步

10、骤: 选中组成 PID 控制器的所有模块 ; 执行 Edit/Createsubsystem 命令,则会把已经选中的模块装入一个名为subsystem的模块中 。2. 通过子系统模块创建子系统.学习帮手 .专业整理 .SimulinkCommon Used BlocksSubsystem复制一个 Subsystem 模块到仿真模型窗口 ,然后双击该模块 ,产生一个模型窗口 ,最后利用创建 SIMULINK 仿真模型的方法把子系统包含的所有模块复制到其中,对其进行信号连接。创建 PID 控制器子系统的具体过程:子系统的封装利用前面介绍的方法创建子系统,到达了简化模型 、提高模型可读性的目的。但是

11、这样建立的子系统要从MATLAB 工作空间直接获取变量 ,与 SIMULINK 模块库中的基本模块还有很大差别 ,存在着不少缺陷 。 因此,需要对所创建的子系统进行封装,进一步完善子系统 。所谓子系统的封装技术就是将对应的子系统的内部结构隐藏起来。这样在访问此子系统模块时就只出现一个参数设置对话框,只要将所需要的变量参数输入到对话框中即可。实际上,SIMULINK 的基本模块也是子系统封装后得到的,所以子系统封装之后与基本模块是一致的。子系统的封装过程如下: 选中已创建的子系统 ,在仿真模型窗口的菜单栏执行Edit/Mask subsystem命令,将会打开 Mask Editor 对话框 。

12、.学习帮手 .专业整理 . 利用封装编辑器可以实现子系统对话框的设计。需要设计的内容主要包括子系统的图形标示、变量参数以及模块描述和帮助信息。 关闭封装编辑器 ,则得到了新建的封装之后的子系统模块。1. 封装编辑器 Icon 选项卡 Mask type 文本框:可以任意填写 ,它接受中 、英文输入 。 Drawing commands( 图形标示命令 )文本框 :对封装后的子系统进行图形标识 。 可以使用 plot 命令绘制图形 ,可以使用 disp 命令在子系统的图标上写入字符串名称 ,可以使用image 函数进行图像显示 。 Icon frame( 标识边框 ):设置模块图标是否有边框 ,

13、Visible or Invisible 。 Icon transparency(标识透明 ): Opaque or Transparent。默认值 Opaque :图标上的.学习帮手 .专业整理 .图形会将子系统模块的端口信息覆盖。 Icon rotation :Fixed or Rotates.默认值 Fixed,表示在旋转或反转子系统模块时,图标不会随之旋转或翻转。Rotates ,则表示在旋转或反转子系统模块时,图标会随之旋转或翻转。 Drawing coordinates(units): Autoscal Pixels e Normalized.默认的格式 Autoscale Ini

14、tialization 选项卡在进行子系统模块封装时,最重要的一步就是设计子系统模块变量参数设置对话框,这需要在 Initialization选项卡中完成 ,可以对封装子系统模块的参数设置对话框进行变量参数的提示与设置的设计 。Initializationcommands ,用于定义生成封装子系统模块过程中所需要的变量。例如,封装系统模块过程中如果使用MATLAB 的 plot 绘制模块图标 ,在此可以定义所需要的变量。 Documentation选项卡.学习帮手 .专业整理 .Documentation选项卡提供给用户编写封装子系统模块的性质说明和帮助信息。Mask typeBlock de

15、scriptionBlock help2. 封装实例 : PID 控制器子系统模块封装 模块显示 “PID Controller ”:在 Drawing commands中输入 disp( PID Controller ) 。.学习帮手 .专业整理 .1PID Controller1In1Out1PID Controller 在 Parameters( 以前版本在 Initialization中)选项卡中设计封装后子系统参数设置对话框,PID 控制器需要传递的变量参数有3 个,单击 Add 按钮 3 次,即生成 3 个需要传递变量的位置。 在 Documentation选项卡中 ,为 PID

16、控制器子系统模块添加文字说明。.学习帮手 .专业整理 .条件执行子系统在 simulink 模块库中 , Enable 模块和 Trigger 模块是比较特殊的模块 ,如果把这样的模块放到某个子系统中 ,该子系统会在给定的控制信号的控制下执行 ,这样的子系统称为条件执行子系统 (conditionally executed subsystem)。1. Enabled subsystemEnabledsubsystem 只有控制信号为正时 ,才执行子系统 ,否则禁止执行 。 实际上,它.学习帮手 .专业整理 .就是数字电路中的电平触发。当它处于禁止状态时 ,为了保持系统输出的连续性,它也有信号输

17、出 。 用户可以选择继续保持禁止前的信号输出,也可以将子系统强制复位再指定输出值。 SimulinkPorts & SubsystemsEnabled SubsystemIn1Out1EnableEnabled11SubsystemIn1Out1 设置 Enable 模块参数的方法 :首先双击 Enable 模块,然后进行设置 held or reset 。TriggeredSubsystem 通过选通 show output port复选框以设置是否允许系统输出使能控制信号。 Enabled subsystem的 Out1 模块,设置 Enabled subsystem在禁止状态下的

18、输出信号。.学习帮手 .专业整理 .在 Output when disabled 中,如果选择 held ,则在禁止状态下的输出将保持禁止前的状态值;如果选择 reset ,则子系统被强制复位 ,并且此时的输出需要在 Initial Output 中设置。 使用 Enable subsystem模块实现半波整流系统的仿真。半波整流系统在输入信号为正时,输出原信号 ,否则输出为零 。In1Out1Sine WaveEnabledScopeSubsystem图 exam2_45.学习帮手 .专业整理 .2. Triggered subsystemTriggeredsubsystem是在触发信号发生的瞬间执行子系统,然后保持子系统的输出状态,直到下一个触发信号到来。EnabledSubsystem SimulinkPorts & SubsystemsTriggered SubsystemIn1Out1TriggerTriggered11Subsy

温馨提示

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

评论

0/150

提交评论