ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:431.23KB ,
资源ID:8111584      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8111584.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MATLAB仿真技术与应用.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MATLAB仿真技术与应用.docx

1、MATLAB仿真技术与应用 例2-1 已知一个系统的微分方程为: 其中,状态变量初始条件,输入u为阶跃函数,要求利用SIMULINK对系统建立仿真模型,并绘制时域响应曲线。在利用SIMULINK创建模型之前,先把微分方程进行拉普拉斯变换,得到每个微分方程的传递函数,即用传递函数的形式表示系统。连接信号之后的系统模型图 exam2_1系统时域响应曲线 例7-9 一个控制系统由5个子系统组成,组成结构如下图各子系统的传递函数分别为:, 试在MATLAB中分别用仿真模块建模和仿真命令编程两种方法进行仿真,并绘制系统的阶跃响应曲线图。首先在Simulink环境下将所需要的仿真模块连接起来,并将各模块的

2、参数设置好。系统的仿真模型图 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);%axis(0 10 0 0.35)grid on程序运行后得到的阶跃响应曲线

3、如图所示。系统的阶跃响应程序运行结果为: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 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.684e0

4、04 s + 7332从结果可以看出,采用仿真模块建模实现仿真的方法与采用仿真命令实现仿真的方法得到的仿真结果是完全相同的。采用哪一种方法进行仿真,可以根据实际情况而定。一般说来,采用仿真模块建模实现仿真的方法更简单、方便,但采用仿真命令实现仿真的方法更灵活。2.4.1 利用输出模块分析利用SIMULINK输出模块进行仿真结果分析输出有以下几种方法:观察输出轨迹;以文件形式输出;直接显示数据输出;用表盘和量计显示输出;进行数字信号处理、分析输出。1观察输出轨迹信号输入到Scope模块或XY Graph(相轨迹示波器)模块观察输出轨迹。图 exam2_21将输出信号写入返回变量,并利用MATLA

5、B命令绘图在仿真结束后,在MATLAB工作空间自动生成两个变量tout和yout,分别返回时间矢量和各个输出端子的仿真结果。执行plot(tout,yout)得图示结果。图 exam2_23使用ToWorkspace模块把输出写入到MATLAB工作空间,然后通过MATLAB的绘图命令绘制输出轨迹。图 exam2_252. 以文件形式输出仿真结果利用输出模块中的To file模块可以将仿真结果以Mat文件的格式直接保存到数据文件中。3. 直接显示数据输出4. 表盘和量计显示输出Dials & Gauges5. 信号处理、分析输出DSP模块、SIMULINK Extra模块图 exam2_292.

6、5 子系统随着研究的系统越来越大,越来越复杂,直接使用基本的SIMULINK模块创建的系统模型会十分庞大,而且信号的传输方向也会变得十分不明显。为了简化模型以及增加它的可读性,可以将一些独立功能的模块化分成一组,构成子系统。2.5.1 子系统的创建 使用子系统不仅可以使仿真模型中显示的模块数量减少,便于读图,而且还建立了层次化的仿真模型框图,子系统模块在一个层次,组成各个子系统的模块在另外一个层次。创建子系统的方法有两种:一种是利用模型中已经存在的模块创建子系统;另一种是通过向子系统模块加入新的模块创建子系统。1. 通过已有模块创建子系统图 exam2_33通过比例、微分、积分模块创建PID控

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

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

9、要包括子系统的图形标示、变量参数以及模块描述和帮助信息。关闭封装编辑器,则得到了新建的封装之后的子系统模块。1. 封装编辑器Icon选项卡Mask type文本框:可以任意填写,它接受中、英文输入。Drawing commands(图形标示命令)文本框:对封装后的子系统进行图形标识。可以使用plot命令绘制图形,可以使用disp命令在子系统的图标上写入字符串名称,可以使用image函数进行图像显示。Icon frame(标识边框):设置模块图标是否有边框,Visible or Invisible。Icon transparency(标识透明):Opaque or Transparent。默认值

10、Opaque:图标上的图形会将子系统模块的端口信息覆盖。Icon rotation:Fixed or Rotates. 默认值Fixed,表示在旋转或反转子系统模块时,图标不会随之旋转或翻转。Rotates,则表示在旋转或反转子系统模块时,图标会随之旋转或翻转。Drawing coordinates(units): Autoscal Pixels e Normalized. 默认的格式AutoscaleInitialization选项卡在进行子系统模块封装时,最重要的一步就是设计子系统模块变量参数设置对话框,这需要在Initialization选项卡中完成,可以对封装子系统模块的参数设置对话框

11、进行变量参数的提示与设置的设计。Initialization commands,用于定义生成封装子系统模块过程中所需要的变量。例如,封装系统模块过程中如果使用MATLAB的plot绘制模块图标,在此可以定义所需要的变量。Documentation选项卡Documentation选项卡提供给用户编写封装子系统模块的性质说明和帮助信息。Mask typeBlock descriptionBlock help2. 封装实例:PID控制器子系统模块封装模块显示“PID Controller”:在Drawing commands中输入disp(PID Controller) 。在Parameters(以

12、前版本在Initialization中)选项卡中设计封装后子系统参数设置对话框,PID控制器需要传递的变量参数有3个,单击Add按钮3次,即生成3个需要传递变量的位置。在Documentation选项卡中,为PID控制器子系统模块添加文字说明。2.5.3 条件执行子系统在simulink模块库中,Enable模块和Trigger模块是比较特殊的模块,如果把这样的模块放到某个子系统中,该子系统会在给定的控制信号的控制下执行,这样的子系统称为条件执行子系统(conditionally executed subsystem)。1. Enabled subsystemEnabled subsystem

13、只有控制信号为正时,才执行子系统,否则禁止执行。实际上,它就是数字电路中的电平触发。当它处于禁止状态时,为了保持系统输出的连续性,它也有信号输出。用户可以选择继续保持禁止前的信号输出,也可以将子系统强制复位再指定输出值。SimulinkPorts & SubsystemsEnabled Subsystem 设置Enable模块参数的方法:首先双击Enable模块,然后进行设置held or reset。通过选通show output port复选框以设置是否允许系统输出使能控制信号。Enabled subsystem 的Out1模块,设置Enabled subsystem在禁止状态下的输出信号

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

15、m 用户可以对触发信号进行如下设置:上升沿触发: 下降沿触发:边沿触发:当输入信号发生变化时,即出现上升沿或下降沿时,均执行Triggered subsystem。另外,还有一种使Triggered subsystem执行的情况,就是函数调用触发,此时Triggered subsystem的执行取决于S函数内部的逻辑,而与触发信号无关。仿真系统的仿真模型如图所示,这里使用下降沿触发。图 exam2_483. Enable and Triggered subsystem 2.5.4 定义自己的模块库如果用户建立了很多封装子系统模块,常常需要建立自己的模块库,用于分门别类地存储这些模块。另外,在进行仿真建模时,为了减少打开模块库的次数和方便系统仿真建模,用户通常也需要将实现某种功能的一组常用模块统一放置在同一模块库中。创建模块库方法:在Simulink Library Browser窗口的菜单栏中执行File/New/Library命令,将需要存放在同一个模块库中的模块复制到模块库窗口即可。

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

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