Matlab Simulink仿真工具的应用

****Simulink是一个用来对动态系统进行建模、仿真和分析的软件包。使用Simulink来建模、分析和仿真各种动态系统(包含连续系统、离散系统和混合系统),将是一件很轻松的事情。

它提供了一种图形化的交互环境,仅仅需用鼠标拖动的方法便能迅速地建立起系统框图模型,甚至不须要编写一行代码。

因为Simulink具有强大的功能与友好的用户界面。因此它已经被广泛地应用到诸多领域之中。如:

(1)通讯与卫星系统。

(2)航空航天系统。

(3)生物系统。

(4)物流系统。

(6)制造系统。

(7)金融系统

simulink作为matlab中一个强大的库,在自己主动控制方面有着不可替代的作用。

鉴于网上已有大量教材,仅提供一个小样例,以为入门。基础理论可參考这里

  • 打开matlab2014a(我用的是这个啦)。点击simulink库。

  • 漫长的等待后……出现:

  • Simulink模块库浏览器能够依照类型选择合适的系统模块、获得系统模块的简单描写叙述以及查找系统模块等,而且能够直接将模块库中的模块拖动或者复制到用户的系统模型中以构建动态系统模型。

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

    Continuous(连续模块)

    Discrete(离散模块)

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

    Math(数学模块)

    Nonlinear(非线性模块)

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

    Sinks(接收器模块)

    Sources(输入源模块)

这里用一个很easy的样例介绍怎样建立动态系统模型。 此简单系统的输入为一个正弦波信号,输出为此正弦波信号与一个常数的乘积。 要求建立系统模型,并以图形方式输出系统运算结果。

已知系统的数学描写叙述为:

u(t)=sin(t),t≥0

y(t)=au(t)=asin(t),a≠0

  • 单击新建模型button。就可以打开:

    Simulink系统模拟编辑器窗体。

  • 依次将公共模块库和专业模块库中各控件通过鼠标左键拖动到Simulink系统模拟编辑器窗体中。
  • 系统输入模块库Sources中的Sine Wave控件:产生一个正弦波信号。
  • 数学库Math Operations中的Gain控件:将信号乘上一个常数(即信号增强)。

  • 系统输出Sink中的Scope控件(示波器控件):图形方式显示结果。

    -已放入控件后的Simulink框图:

  • 连接控件

在选择构建系统模型所需的全部模块后。须要依照系统的信号流程将各系统模块正确连接起来。连接系统模块的过程例如以下:

(1) 将光标指向起始块的输出port,此时光标变成“+”。

(2) 单击鼠标左键并拖动到目标模块的输入port,在接近到一定程度时光标变成双十字。这时松开鼠标键,连接完毕。

完毕后在连接点处出现一个箭头,表示系统中信号的流向。

  • 复制控件

假设须要几个相同的模块,能够使用鼠标右键单击并拖动某个块进行拷贝。也能够在选中所需的模块后,使用Edit菜单上的Copy 和Paste 或使用热键Ctrl+C和Ctrl+V完毕相同的功能。

  • 连线分支与连线改变

在某些情况下,一个系统模块的输出同一时候作为多个其他模块的输入,这时须要从此模块中引出若干连线,以连接多个其他模块。对信号连线进行分支的操作方式为:使用鼠标右键单击须要分支的信号连线(光标变成“+”),然后拖动到目标模块。

  • 控件參数设置

当用户依照信号的输入输出关系连接各控件之后。系统模型的创建工作便已结束。

为了对动态系统进行正确的仿真与分析。必须设置正确的控件參数。

控件參数的设置方法例如以下:

1.双击控件图标,打开控件參数设置对话框。

2.在參数设置对话框中设置合适的控件參数。

  • 仿真參数设置

1、仿真起止时间设置

在缺省情况下。Simulink默认的仿真起始时间为0s,仿真结束时间为10 s。

对于简单系统,当时间大于25时系统输出才開始转换,因此须要设置合适的仿真时间。

设置仿真时间的方法有两种:

(1)选择菜单Simulation中的Model configuration Parameters(或使用快捷键Ctrl+E),打开仿真參数设置对话框,在Solver选项卡中“Simulation time”栏设置系统仿真时间区间。

设置系统仿真起始时间为0 s、结束时间为100 s。

(2)Simulink系统模拟编辑器窗体上方的仿真时间设置栏。

2、仿真步长设置

在使用Simulink对简单系统进行仿真时,影响仿真结果输出的因素有仿真起始时间、结束时间和仿真步长。对于简单系统仿真来说,无论採用何种求解器。Simulink总是在仿真过程中选用最大的仿真步长。

最大步长默认取值为auto,设置仿真步长的方法为:

选择菜单Simulation中的Model configuration Parameters(或使用快捷键Ctrl+E)。打开仿真參数设置对话框,在Solver选项卡中“Solver options”栏的max step size设置系统仿真时间区间。

  • 执行仿真

当对系统中各控件參数以及系统仿真參数进行正确设置之后,单击系统模型编辑器上的Run图标(黑色三角)或选择Simulation菜单下的Run便能够对系统进行仿真分析。

-显示系统仿真结果

matlab之simulink仿真入门的更多相关文章

  1. Simulink仿真入门到精通(十九) 总结回顾&自我练习

    从2019年12月27到2020年2月12日,学习了Simulink仿真及代码生成技术入门到精通,历时17天. 学习的比较粗糙,有一些地方还没理解透彻,全书梳理总结: Simulink的基础模块已基本 ...

  2. Simulink仿真入门到精通(五) Simulink模型的仿真

    5.1 模型的配置仿真 由各种模块所构建的可视化逻辑连接,只是模型的外在表现,模型仿真的核心驱动器是被称作解算器(Solver)的组件,相当于Simulink仿真过程的心脏,驱动着模型仿真,它在每一个 ...

  3. Simulink仿真入门到精通(三) Simulink信号

    3.1 Simulink信号概述 所谓信号,表示一种随着时间而变化的量,在时间轴上的采样时刻都对应有数值. 信号在Simulink中是相当重要的组成部分,有线(line)表示,在模型中穿针引线地将各模 ...

  4. Simulink仿真入门到精通(十八) TLC语言

    TLC(Target Language Compiler)是一种为转换为目标语言而存在的额解释性语言,其目的就是将模型中编译出来的rtw文件转换为目标代码(C/C++等).与M语言类似,既可以写成脚本 ...

  5. Simulink仿真入门到精通(十七) Simulink代码生成技术详解

    17.1 基于模型的设计 基于模型设计是一种流程,较之传统软件开发流程而言,使开发者能够更快捷.更高效地进行开发.适用范围包括汽车电子信号处理.控制系统.通信行业和半导体行业. V字模型开发流程整体描 ...

  6. Simulink仿真入门到精通(十五) Simulink在流程工业中的仿真应用

    15.1 工业乙醇生产与计算机仿真 乙醇作为可再生清洁能源不仅可以代替四乙基铅作为汽油的防爆剂,还可以制造汽油醇.这一巨大的潜在需求促使人们去寻找提高乙醇工业生产率的途径,使人们着手于发酵工程的研究. ...

  7. Simulink仿真入门到精通(十四) Simulink自定义环境

    14.1 Simulink环境自定义功能 sl_sustomization.m函数是Simulink提供给用户使用MATLAB语言自定义Simulink标准人机界面的函数机制.若sl_sustomiz ...

  8. Simulink仿真入门到精通(十三) Simulink创建自定义库

    当用户自定义了一系列模块之后,可以自定义模块库将同类自定义模块显示到Simulink Browser中,作为库模块方便地拖曳到新建模型中. 建立这样的自定义库需要3个条件: 建立library的mdl ...

  9. Simulink仿真入门到精通(十一) 模块的封装

    当用户编写了自定义的S函数或者使用Simulink标准库中的模块搭建子系统后,可以通过封装为其设计显示外观,追加参数对话框. 封装是构建一个以对话框为接口的交互界面的过程,它将复杂的模块逻辑关系隐藏起 ...

随机推荐

  1. PostgreSQL代码分析,查询优化部分,canonicalize_qual

    这里把规范谓词表达式的部分就整理完了.阅读的顺序例如以下: 一.PostgreSQL代码分析,查询优化部分,canonicalize_qual 二.PostgreSQL代码分析,查询优化部分,pull ...

  2. IEnumerable是集合,IEnumerator是集合的迭代器

    我们常用IEnumerable,却忽视IEnumerator.简单来说,IEnumerable是可以被循环遍历的集合,IEnumerator实施循环遍历. 接口分别是: public interfac ...

  3. 5日均线MACD

    1.5日均线: 5日均线是股市术语,就是股票5天的成交价格或指数的平均值,所对应的是股价的5日均线和指数的5日均线(5MA).均线指标实际上是移动平均线指标的简称. 一般在K 线图中会有3 条或4 条 ...

  4. iOS非ARC内存管理摘要 - 实践型

    关于ios内存管理.在开发过程中,内存管理很重要,我简单说明一下. 1.正确用法 UIView *v = [[UIView alloc] init]; //分配后引用计数为1 [self.view a ...

  5. ios 获得通讯录中联系人的所有属性 亲测,可行 兼容io6 和 ios 7

    //获取通讯录中的所有属性,并存储在 textView 中,已检验,切实可行.兼容io6 和 ios 7 ,而且ios7还没有权限确认提示. -(void)getAddressBook { ABAdd ...

  6. mysql 和 sqlite 区别 及 SQLite Expert Professional sqliteManager 区别

    mysql 和 sqlite 区别 SQLITE是单机数据库.功能简约,小型化,追求最大磁盘效率MYSQL是完善的服务器数据库.功能全面,综合化,追求最大并发效率 MYSQL.Sybase.Oracl ...

  7. java算法实现树型目录反向生成(在指定的盘符或位置生成相应的文件结构)

    http://www.cnblogs.com/interdrp/p/6702482.html 由于此次文件管理系统的升级确实给我们带来了很多方便且在性能上有很大提升,经过这段时间的使用 也发现了些问题 ...

  8. dwz 分页 bug (选回 combox 第一个值时不执行 onchange)

    先看一下官方的测试: 官方的演示有两个 bug 一个是combox数字一直不变,二是当选回第一个值时不执行 onchange 事件. 经过firebug调试,这是一个bug,传到后台的参数没有得到及时 ...

  9. 分布式系统唯一ID生成方案汇总 转

    系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问题而纠结.生成ID的方法有很多,适应不同的场景.需求以及性能要求.所以有些比较复杂的系统会有多个ID生成的策略.下面就介绍一些常见 ...

  10. 两种方法获取MyBatis刚刚插入的id

    主要就是在xml文件中的写法,其他省略 方法一: <insert id="insert" parameterType="com.xxx.xxxx.pojo.User ...