SIMULINK仿真基础
simulink 仿真教程(从入门到入土)+报告(真)
Simulink仿真摘要:simulink作为matlab的衍生模组,具有强大的仿真能力。
原则上你可以将任意具有明确映射关系的物理量进行仿真模拟。
对于相互间关系不明确的物理量,则可以通过输入输出数据的采集,然后通过模糊控制的方案替代明确的映射关系。
本文主要针对的是以电焊机电路为主,其他仿真为辅的教程性质的文章。
关键词:matlab Simulink 仿真电焊机教程第一章初识软件 (2)1.1 simulink 简介 (2)1.2 simulink基础页面 (2)1.3 常用库的介绍 (3)1.3.1 simulink库 (4)1.3.1.1 常用模块库 (4)1.3.1.2 其他常用子库模块 (6)1.3.2 电气库Simscape (7)1.3.2.1 Electrical库 (7)1.3.2.2 Specialized Technology库 (8)1.4模块连接 (9)第二章简单仿真系统的建立 (11)2.1传递函数S信号仿真 (11)2.1.1 运放环节的等效替代 (11)2.1.2 等效变换 (12)2.1.3 逻辑仿真 (13)2.2电气库仿真 (13)2.3子系统和模块的建立 (15)2.3.1 子系统的建立 (15)2.3.2 模块的建立 (16)第三章复合仿真 (18)3.1 m函数模块 (18)3.1.1 简单编程 (18)3.1.2 部分函数介绍 (19)3.2 整体模型 (21)3.3 仿真注意事项 (22)3.3.1 注意事项1 (22)3.3.2 注意事项2 (23)3.3.3 注意事项3 (24)3.3.4 注意事项4 (24)结语 (25)第一章初识软件Matlab作为一块应用广泛的软件,在许多领域中具有广泛的应用,所以掌握matlab的一些基础运用是一个很有用的技能。
Matlab广泛应用于数字图像处理,程序控制,仿真模拟等多个领域之中。
这款软件的核心基础在于强大的矩阵计算能力,无论是程序处理还是仿真计算,其本质就是通过矩阵运算的方式得出解。
Simulink仿真入门培训
3 ADVIOSR常用的Simulink模块
建模实例:简单的发动机静态、动态扭矩模型
2维表数据输入
建模操作
数据绘3D仿真图
3 ADVIOSR常用的Simulink模块
3.5 数学运算模块(Math Operations)
绝对值模块 点积模块 增益模块 逻辑操纵模块 数学函数模块
范例操作
最大与最小模块
简化的单轮整车模型
r & ω V 为汽车行车速度,V 为车身加速度,M 为车身质量, w为车轮滚动半径, w为车轮角速度, Jw Fµ Fx Ft 为车轮转动惯量, 为地面提供给轮胎的附着力, 为轮胎所受的纵向力, 为汽车的驱动力, Fz Ttr 为汽车所受的法向反作用力, 为发动机传递到驱动轮的驱动扭矩。
范例操作
3 ADVIOSR常用的Simulink模块
3.6 信号路线模块组(Signal Routing)
总线生成模块 总线选择模块 信号分解 信号来源 信号走向 信号混合 开关模块
范例操作 范例操作 范例操作
3 ADVIOSR常用的Simulink模块
3.7 接收器模块组(Sinks)
实时显示模块 浮动示波器 输出信号 示波器 停止仿真 接受终端 到文件 到工作空间 XY绘图模块
车轮角速度ωw减小
S=
ω w ⋅ rw − V V = 1− ω w ⋅ rw ω w ⋅ rw
滑转率 S 减小
附着系数 µ附着系数和滑转率的关系: 路面峰值附着系数: 路面提供的附着力:
路面 干沥青 湿沥青 干水泥 干鹅卵石 湿鹅卵石 雪地 冰面 C1 1.2801 0.857 1.1973 1.3713 0.4004 0.1946 0.05 C2 23.99 33.822 25.168 6.4565 33.7080 94.129 306.39
第六讲Simulink仿真
Simulink操作基础
点击进入Simulink
点击打开新建模型
拖拽模块加入模型
添加连线
2 系统仿真模型
2.1 Simulink的模块 Simulink的模块库提供了大量模块。单击模 块库浏览器中Simulink前面的“+”号,将看到 Simulink模块库中包含的子模块库,单击所需要 的子模块库,在右边的窗口中将看到相应的基本 模块,选择所需基本模块,可用鼠标将其拖到模 型编辑窗口。同样,在模块库浏览器左侧的 Simulink栏上单击鼠标右键,在弹出的快捷菜单 中单击Open the ‘Simulink’ Libray 命令,将打开 Simulink基本模块库窗口。单击其中的子模块库 图标,打开子模块库,找到仿真所需要的基本模 块。
3.2 启动系统仿真与仿真结果分析
设置完仿真参数之后,从Simulation中选择 Start菜单项或单击模型编辑窗口中的Start Simulation命令按钮,便可启动对当前模型的仿 真。此时,Start菜单项变成不可选, 而Stop菜单项 变成可选, 以供中途停止仿真使用。从Simulation菜 单中选择Stop项停止仿真后,Start项又变成可选。 为了观察仿真结果的变化轨迹可以采用3种方法: (1) 把输出结果送给Scope模块或者XY Graph模块。 (2) 把仿真结果送到输出端口并作为返回变量,然后 使用MATLAB命令画出该变量的变化曲线。 (3) 把输出结果送到To Workspace模块,从而将结果 直接存入工作空间,然后用MATLAB命令画出该 变量的变化曲线。
连续系统 基本模块
微分环节 积分环节 状态方程 传递函数 时间延迟 可变时间延迟 可变传输延迟 零-极点模型
连续系统模块库(Continuous)
MATLAB-SIMULINK讲解完整版
图3-5 模块的基本操作示例
、按键 、按键 和按键 。
(5) 窗口切换类:包括 6 个按键,分别是按键 、按键
、按键 、按键 、按键 和按键 。
工具栏中各个工具图标及其功能说明见附录 B。
3.2 SIMULINK的基本操作 3.2.1 模块及信号线的基本操作
1. 模块的基本操作 模块是系统模型中最基本的元素,不同模块代表了不同 的功能。各模块的大小、放置方向、标签、属性等都是可以 设置调整的。表3-1列出了SIMULINK中模块基本操作方法 的简单描述。
善模型的外观
标左键
可改变折线的走向, 选中目标节点,按住鼠标左键,拖曳到目标位置,松开鼠
改善模型的外观
标左键
从一个节点引出多 条信号线,应用于不同 目的
方法 1:先按住“Ctrl”键,再选中信号引出点,按住鼠标 左键,拖曳到下级目标模块的信号输入端,松开鼠标左键;
方法 2:先选中信号引出线,然后在信号引出点按住鼠标 右键,拖曳到下级目标模块的信号输入端,松开鼠标右键
如图3-6所示,在模型中加入注释文字,使模型更具可 读性。
图3-6 添加注释文字示例 (a) 未加注释文字;(b) 加入注释文字
3.2.3 子系统的建立与封装 1. 子系统的建立 一般而言,电力系统仿真模型都比较复杂,规模很大,
包含了数量可观的各种模块。如果这些模块都直接显示在 SIMULINK仿真平台窗口中,将显得拥挤、杂乱,不利于用 户建模和分析。可以把实现同一种功能或几种功能的多个模 块组合成一个子系统,从而简化模型,其效果如同其它高级 语言中的子程序和函数功能。
Simulink动态系统仿真入门
Simulink动态系统仿真入门Simulink是基于MA TLAB的图形化仿真设计环境,是MATLAB 提供的进行动态系统建模、仿真和综合分析的集成软件包。
它使用图形化的系统模块对动态系统进行描述,并在此基础上采用MATLAB 的计算引擎对动态系统在时域内进行求解。
它可以处理的系统包括:线性、非线性、离散、连续及混合、单任务、多任务离散事件等。
在MATLAB7.X版本中,可以直接在Simulink环境中运作的工具箱和模型库很多,已经覆盖了航天、航空、通信、控制、信号处理等等诸多领域,涉及内容专业性很强。
1、Simulink系统的启动由于Simulink和MATLAB是高度集成在一起的,因此启动Simulink必须先启动MA TLAB。
在MA TLAB启动Simulink可以通过在命令窗口输入Simulink,或者点击MATLAB工具栏的Simulink 快速启动图标。
启动Simulink后,出现Simulink的主窗口,选择主菜单File中的New\model,即可以打开系统模型编辑器。
下图依次是MATLAB 主窗口、Simulink主窗口和系统模型编辑窗口,图中的箭头表示了操作顺序。
在打开一个新的系统模型文件以后,用户可以从Simulink模块库中选择适合的系统模块或自定义模块来建立系统模型。
我们通过一个简单的例子来分步说明Simulink建模和仿真的能力。
1)在MATLAB 窗口运行Simulink。
打开Simulink模块库浏览器。
2)点击Source子库前的“+”展开库,可以看到各种信源模块。
3)点击新建图标,打开一个空白型的模型窗口。
4)用鼠标选中需要的信源模块,把它拖入新建的空白模型编辑窗口,生成一个正弦波的复制品。
5)同样将信宿库Sinks中的示波器Scope拷贝到模型窗口。
6)利用鼠标完成两个模块的连线操作,完成一个简单的模型。
7)为进行仿真,双击示波器模块,打开示波器显示屏。
matlab-simulink初级教程
Simulink仿真环境基础学习Simulink是面向框图的仿真软件。
7.1演示一个Simulink的简单程序【例7.1】创建一个正弦信号的仿真模型。
步骤如下:(1) 在MATLAB的命令窗口运行simulink命令,或单击工具栏中的图标,就可以打开Simulink模块库浏览器(Simulink Library Browser) 窗口,如图7.1所示。
图7.1 Simulink界面(2) 单击工具栏上的图标或选择菜单“File”——“New”——“Model”,新建一个名为“untitled”的空白模型窗口。
(3) 在上图的右侧子模块窗口中,单击“Source”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink下的Source子模块库,便可看到各种输入源模块。
(4) 用鼠标单击所需要的输入信号源模块“Sine Wave”(正弦信号),将其拖放到的空白模型窗口“untitled”,则“Sine Wave”模块就被添加到untitled窗口;也可以用鼠标选中“Sine Wave”模块,单击鼠标右键,在快捷菜单中选择“add to 'untitled'”命令,就可以将“Sine Wave”模块添加到untitled窗口,如图7.2所示。
(5) 用同样的方法打开接收模块库“Sinks”,选择其中的“Scope”模块(示波器)拖放到“untitled”窗口中。
(6) 在“untitled”窗口中,用鼠标指向“Sine Wave”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。
如图7.3所示。
(7) 开始仿真,单击“untitled”模型窗口中“开始仿真”图标,或者选择菜单“Simulink”——“Start”,则仿真开始。
双击“Scope”模块出现示波器显示屏,可以看到黄色的正弦波形。
Simulink仿真操作基本教程
◼ 在 Simulink 模 型 或 模 块 库 窗
口内,用鼠标左键单击所需 模块图标,图标四角出现黑 色小方点,表明该模块已经 选中。
c) 模块拷贝及删除
◼ 在模块库中选中模块后,按 住鼠标左键不放并移动鼠标 至目标模型窗口指定位置, 释放鼠标即完成模块拷贝。
◼ 模块的删除只需选定删除的 模块,按Del键即可。
a) 启动Simulink。
➢ 单击MATLAB Command窗口工具条上的Simulink图标,或者
在MATLAB命令窗口输入simulink,即弹出图示的模块库窗 口界面(Simulink Library Browser)。该界面右边的窗口给出 Simulink所有的子模块库。
➢ 常用的子模块库有 Sources( 信 号 源 ) , Sink( 显 示输出),Continuous(线性连 续系统),Discrete(线性离 散系统),Function & Table (函数与表格),Math(数学 运算), Discontinuities (非 线性),Demo(演示)等。
图9-15 定步长算法
图9-16 变步长算法
第一章 Simulink动态仿真
① Solver页 ➢ Error Tolerance(误差限度): 算法的误差是指当前状态值与当前
状态估计值的差值,分为Relative tolerance(相对限度)和Absolute tolerance(绝对限度),通常可选auto。
第一章 Simulink动态仿真
a) 启动Simulink
① 用鼠标右键点击Simulink菜单项,则弹出一菜单条,点击该菜单
条即弹出该子库的标准模块窗口.如单击左图中的【Sinks】,出现 “Open the ‘Sinks’Library”菜单条,单击该菜单条,则弹出右图所 示的该子库的标准模块窗口。
《SIMULINK仿真基础》课件
SIMULINK仿真基础课程介绍,通过深入浅出的方式帮助学员掌握SIMULINK 的基本知识和仿真实践技巧。
课程大纲
SIMULINK基础知识
SIMULINK简介、软件界面介绍、模型的创 建方式、模型的保存和加载。
仿真方法与技巧
仿真参数设置、仿真停止方式、数据可视化 方法。
并实现控制和优化
项目仿真分析
学习仿真技巧,掌握仿真参数设置,能够 运用仿真进行系统分析、控制和优化。
通过实际案例学习,能够应用SIMULINK 进行电路、控制系统、机械系统和通信系 统的仿真分析。
模型建立流程
模型建立步骤、系统建模方法、模型参数设 置。
仿真应用案例
电路仿真实例、控制系统仿真实例、机械系 统仿真实例、通信系统仿真实例。
目标学员
1 工程师
具备一定仿真基础,希望深入学习SIMULINK并应用于实际工程项目的工程师。
2 科研人员
希望运用仿真技术进行科研工作的科研人员。
3 学生
对仿真技术和工程应用感兴趣的学生,尤其是自动化握SIMULINK的基础知识
2 熟练掌握SIMULINK模型建立流程
了解SIMULINK的特点、功能和基本操作, 掌握基本的建模方法。
学习模型建立的基本步骤,了解不同系统 的建模方法,并掌握模型参数设置。
3 能够运用SIMULINK进行仿真分析, 4 能够应用SIMULINK完成实际工程
第三章 Simulink基础
同一模型中复制模块 (1)按下ctrl键,选中要复制的模块 (2)拖到喜欢的位置 删除模块 选中后,点击右健中的clear 或按键盘的delete 断开模块连接 按下shitf键,选中模块并从模型中的原始位置 拖支模块即可。 改变模块的方向 Format菜单中选择flip block命令旋转180度,或 者rotate block顺时针旋转90度。
数学运算模块(math)
求绝对值或求模 建立逻辑真值表 求复数的幅值与相角 求复数的实部和虚部 求点乘(内积) 增益(对输入信号乘上一个常数) 逻辑操作符 由幅值与相角求复数 数学运算函数
求极大与极小值 对输入信号求积或商 比较操作符 取整操作 取输入的正负符号 以滑动形式改变增益 对输入信号求代数和 三角函数
输入源模块(source)
带限白噪声 产生一个频率不断变化的正弦波 显示当前仿真时间 生成一个常值 在规定的采样间隔显示当前仿真时间 从工作空间中定义的矩阵读取数据 从文件中读取数据 接地线模块 整个系统的输入子端
固定时间间隔的脉冲发生器 斜坡信号 正态分布的随机信号 产生规律重复的线性信号 产生各种不同的波型 产生一个正弦波 产生一个阶跃函数 均匀分布随机数
4、选择对象(包括模块和连线) 选择一个对象 单击鼠标左键即可选中 选择一个以上对象
逐个选择法:按住shift键 用方框选择
选择整个模型: Ctrl+A 或edit菜单下的select all
5、两个窗口之间模块的复制和移动 用鼠标复制模块 (1)打开相应的库或模型窗口 (2)把要复制的模块拖到自己的目标窗口 中。 用菜单中的命令复制、粘贴模块 模块的命名 选中模块的名称,然后输入新的字符 在同一模块中移动模块 (1)选中需要移动的模块和连线 (2)拖动到适当的地方,然后释放鼠标
第五章 SIMULINK仿真基础
设置仿真参数
28
1.解题器(Solver)选项
(1)Simulation time组:设置仿真起止时间。
(2)Solve options组:选择求解器,并为其
指定参数。
– 变步长算法(Variable-step) – 固定步长算法(Fixed-step)。
29
2.数据输入输出选项(Data Import/Export)
6
SIMULINK仿真基础
在工程实际中,控制系统的结构往往很复
杂,如果不借助专用的系统建模软件,则 很难准确地把一个控制系统的复杂模型输 入计算机,对其进行进一步的分析与仿真。
1990年MathWorks公司为MATLAB增加了 用于建立系统框图和仿真的环境 1992年公司将该软件改名为SIMULINK
– None:不做任何反应。 – Warning:提出警告,但警告信息不影响程序的运行。 – Error:提示错误,运行的程序停止。
31
观察Simulink的仿真结果
观察仿真结果的方法有以下几种:
– 将仿真结果信号输入到输出模块“Scope”示波
器、“XY Graph”二维X-Y图形显示器与
“Display”数字显示器中,直接查看。 – 将仿真结果信号输入到“To Workspace”模块中, 再用绘图命令在MATLAB命令窗口里绘制出图形。 – 将仿真结果信号返回到MATLAB命令窗口里,再 利用绘图命令绘制出图形。
25
第二节 SIMULINK功能模块的处理
基本操作包括: 1. 选取模块 2. 复制与删除模块 3. 模块的参数和属性设置 4. 模块外形的调整 5. 模块名的处理 6. 模块的连接 7. 在连线上反映信息
26
第4章 SIMULINK仿真
• (9)Signal Attributes(信号属性模块库)和Signal Attributes(信号属性模块库) Routing(信号路由模块库) Routing(信号路由模块库)
• • • • • • • • • • • • • • • 这两个模块库主要是由描述信号系统的模块构成,其中主要模块有: Data Type Conversion (数据类型转换器) IC(初始状态); Probe(探测器); Width(带宽); Bus Creator(总线生成器); Bus Selector(总线选择器); Data Store Memory(数据记忆存储); Data Store Read(数据读存储); Data Store Write(数据写存储); From(导入); Goto(传出); Goto Tag Visibility(传出标记符可视性); Multiport Switch (多路选择开关); Mux(混合)
• (7)Model Verification(模型辨识模块库)和ModelVerification(模型辨识模块库) ModelUtilities(扩展模型模块库) Wide Utilities(扩展模型模块库) • 这两个模块库由描述模型辨识的和扩展模型模块构成,其 中主要模块有: • Assertion(确认); • Check Discrete Gradient(检查离散梯度); • Check Dynamic Range(检查动态系统范围); • Check Dynamic Lower Bound(检查动态系统低段范围) • Check Static Range(检查静态系统范围); • Check Input Resolution (检查输入分辨率); • DocBlock(模块注释文本); • Model Info(模型信息); • Timed-Based Linearization(基于时间的线性化模型)
MATLAB-Simulink基础
MATLAB-Simulink基础§1Simulink简介Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,它支持连续、离散及两者混合的线性和非线性系统,也支持具有多种采样频率的系统。
在Simulink环境中,利用鼠标就可以在模型窗口中直观地“画”出系统模型,然后直接进行仿真。
它为用户提供了方框图进行建模的图形接口,采用这种结构画模型就像你用手和纸来画一样容易。
它与传统的仿真软件包微分方程和差分方程建模相比,具有更直观、方便、灵活的优点。
Simulink包含有Sink(输出方式)、Source(输入源)、Linear(线性环节)、Nonlinear(非线性环节)、Connection(连接与接口)和E某tra(其他环节)等子模型库,而且每个子模型库中包含有相应的功能模块,用户也可以定制和创建自己的模块。
用Simulink创建的模型可以具有递阶结构,因此用户可以采用从上到下或从下到上的结构创建模型。
用户可以从最高级开始观看模型,然后用鼠标双击其中的子系统模块,来查看其下一级的内容,以此类推,从而可以看到整个模型的细节,帮助用户理解模型的结构和各模块之间的相互关系。
在定义完一个模型后,用户可以通过Simulink的菜单或MATLAB的命令窗口键入命令来对它进行仿真。
菜单方式对于交互工作非常方便,而命令行方式对于运行一大类仿真非常有用。
采用Scope模块和其他的画图模块,在仿真进行的同时,就可观看到仿真结果。
除此之外,用户还可以在改变参数后迅速观看系统中发生的变化情况。
仿真的结果还可以存放到MATLAB的工作空间里做事后处理。
模型分析工具包括线性化和平衡点分析工具、MATLAB的许多基本工具箱及MATLAB的应用工具箱。
由于MATLAB和Simulink是集成在一起的,因此用户可以在这两种环境下对自己的模型进行仿真、分析和修改。
Simulink具有非常高的开放性,提倡将模型通过框图表示出来,或者将已有的模型添加组合到一起,或者将自己创建的模块添加到模型当中。
Simulink系统仿真原理
仿真效率取决于计算机性能、模型复杂度和数值算法的优化程度。
03
Simulink模型建立
模型元素
模块
Simulink中的模块是构成模型的基本单元, 每个模块代表一个特定的功能或算法。
连接线
连接线用于将不同模块连接起来,表示数据 流或信号流。
参数设置
每个模块都有一些参数可以设置,用于调整 模块的行为或功能。
性能评估
根据仿真结果,评估系统性能指标,如响应时间、超调量、稳态误 差等。
优化设计
基于仿真结果,对系统参数和结构进行优化设计,提高系统性能和 稳定性。
05
模型优化与改进
参数优化
参数优化
在Simulink模型中,参数的选择和调整对仿真结果的影响非常大。通过调整模型中的 参数,可以优化模型的性能,提高仿真的准确性和效率。
通过点击Simulink界面上的“开 始”按钮或使用命令行指令来启 动仿真。
实时监测
02
03
结果导出
在仿真过程中,可以通过 Simulink界面实时监测系统状态、 变量值和输出结果等。
将仿真结果导出为文本、图像或 数据文件,以便进一步分析或与 其他软件进行交互。
模型性能分析
稳定性分析
通过分析仿真结果,判断系统是否稳定,并找出可能的不稳定因素。
特点
支持图形化建模、交互式仿真、动态 系统分析等,适用于多种领域的系统 建模与仿真。
Simulink的历史与发展
1980年代初
由美国MathWorks公司推出Simulink的早期版 本。
1990年代
随着计算机技术的进步,Simulink的功能不断 扩展,支持更多的系统和算法。
2000年代至今
五章SIMULINK仿真基础
第一节 SIMULINK简介
一、什么是SIMULINK
SIMULINK是MATLAB软件的扩展,它是实现动态系统建模和 仿真的一个软件包,它与MATLAB语言的主要区别在于,其与 用户交互接口是基于Windows的模型化图形输入,其结果是使得 用户可以把更多的精力投入到系统模型的构建,而非语言的编 程上。
4) 转向:为了能够顺序连接功能模块的输入和输出端,功能模块有时 需要转向。在菜单Format中选择Flip Block旋转180度,选择Rotate Block顺时针旋转90度。或者直接按Ctrl+F键执行Flip Block,按 Ctrl+R键执行Rotate Block。
5) 改变大小:选中模块,对模块出现的4个黑色标记进行拖曳即可。
6) 模块命名:先用鼠标在需要更改的名称上单击一下,然后直接更改 即可。名称在功能模块上的位置也可以变换180度,可以用Format菜 单中的Flip Name来实现,也可以直接通过鼠标进行拖曳。Hide Name可以隐藏模块名称。
7) 颜色设定: Format菜单中的Foreground Color可以改变模块的前景颜 色,Background Color可以改变模块的背景颜色;而模型窗口的颜色 可以通过Screen Color来改变。
4、 Math(数学模块) math.mdl
Sum:加减运算 Product:乘运算 Dot Product:点乘运算 Gain:比例运算 Math Function:包括指数函数、对数函数、求平方、开根号等常用 数学函数 Trigonometric Function:三角函数,包括正弦、余弦、正切等 MinMax:最值运算 Abs:取绝对值 Sign:符号函数
第三章 Simulink基础
共有解法器(solver)、工作空间输入输 出(workspace I/O)、诊断(Diagnostics)、高级 属性(Advanced) 和实时工作室(real-time workshop)等5个画面。 解法器:用于设置仿真开始时间和终止时间, 解法器类型(定步长和变步长两类)和具 体的解算算法、最大最小步长、容许误差
数学运算模块(math)
求绝对值或求模 建立逻辑真值表 求复数的幅值与相角 求复数的实部和虚部 求点乘(内积) 增益(对输入信号乘上一个常数) 逻辑操作符 由幅值与相角求复数 数学运算函数
求极大与极小值 对输入信号求积或商 比较操作符 取整操作 取输入的正负符号 以滑动形式改变增益 对输入信号求代数和 三角函数
timespan:仿真的时间信息,有三种格式: [tFinal]指定仿真停止时间,仿真开始时间缺省值 为0; [tStart tFinal]指定仿真开始和停止时间 [tStart OutputTimes tFinal] 要输出的时间 Options:由simset设置的仿真参数 ut:外部输入的数据
定步长类型包括: Discrete --纯离散定步长算法 ode5--ode45定步长算法 ode4--四阶龙格库塔法 ode3--bogacki-shampine算法 ode2--二阶龙格库塔法 ode1--欧拉算法
变步长类型包括: Discrete--纯离散变步长算法 Ode45--显式龙格库塔4、5阶一步算法 Ode23--显式龙格库塔2、3阶一步算法 Ode15s--基于数值微分的变阶多步算法 Ode113--普通变阶多步算法 Ode23s--2阶一步算法 Ode23t--内插梯形法则算法 Ode23tb--梯形法则-二阶反向数值微分算法
s +3 1 ⋅ G(s) = 2 s + 4s +8 s +3
simulink仿真原理
simulink仿真原理Simulink仿真原理Simulink是一种基于模块化的多域仿真环境,它使用图形化界面和模块化建模方法,可以对各种系统进行仿真和建模。
Simulink的仿真原理是通过将系统建模为一个或多个模块,并通过连接这些模块来描述系统的行为和交互。
Simulink仿真原理的基础是信号流图。
在信号流图中,模块代表系统的组成部分,信号则代表模块之间的相互作用。
通过连接模块和传递信号,可以模拟系统的运行过程,并观察系统的行为和性能。
Simulink中的模块被称为块,每个块代表一个特定的功能或算法。
这些块可以是基本的数学运算、逻辑运算,也可以是复杂的控制算法或物理模型。
通过选择合适的块,并将它们连接在一起,可以构建出完整的系统模型。
Simulink中的信号可以是连续的,也可以是离散的。
连续信号可以表示系统的物理量,如电压、速度等;离散信号则表示系统的状态或事件,如开关状态、传感器触发等。
通过将连续信号和离散信号连接在一起,可以模拟出系统的实时行为。
Simulink仿真原理的关键之一是求解器。
求解器是Simulink用于计算模型输出的数值方法。
Simulink提供了多种求解器,可以根据系统的特点和仿真需求选择合适的求解器。
常用的求解器有Euler法、隐式法、变步长法等。
通过选择合适的求解器,可以保证系统模型的精度和稳定性。
Simulink仿真原理的另一个关键是仿真参数。
仿真参数是指控制仿真过程的各种设置,如仿真时间、步长、停止条件等。
通过调整这些参数,可以控制仿真的速度和精度,并满足不同仿真需求。
Simulink仿真原理的优势在于其图形化建模和直观的界面。
相比于传统的编程方法,Simulink可以更快速地建立系统模型,并对模型进行可视化调试和验证。
Simulink还支持多领域仿真,可以对多种物理系统、控制系统、通信系统等进行建模和仿真。
Simulink仿真原理是通过图形化建模和模块化设计,通过连接模块和传递信号来描述系统的行为和交互。
实验四simulink基本模块仿真
实验四SIMULINK基本模块仿真一、实验目的1、熟悉Simulink的工作环境,掌握模型的创建2、熟练掌握模块参数的设置和常用模块的使用3、掌握模型结构的参数化4、掌握创建子系统并封装二、实验设备及仪器计算机一台,Matlab软件三、实验步骤1、打开Simulink的工作环境在MA TLAB的命令窗口输入“simulink”或单击工具栏中的快捷图标,可以打开Simulink模块库浏览器窗口,如图4-1所示。
单击工具栏上的图标或选择菜单“File”-“New”-“Model”,新建一个名为“untitled”的空白模型窗口。
图4-1 Simulink模块库浏览器2、创建模型按图4-2建立模型,参数按表4-1设置。
建立好模型后,点击运行仿真,在MA TLAB中打开li7-4.mat即可查看运行结果。
图4-2 系统结构图表4-1 参数设置启动仿真后,在MA TLAB命令窗口中显示以下警告:Warning: Using a default value of 0.2 for maximum step size. The simulation stepsize will be equal to or less than this value. Y ou can disable this diagnostic bysetting 'Automatic solver parameter selection' diagnostic to 'none' in theDiagnostics page of the configuration parameters dialog.在模型窗口选择菜单“simulation”-“configuration parameters…”或直接按快捷键“ctrl+E”,则会打开参数设置对话框。
根据警告修改“Max step size”参数为0.2,再次运行仿真。
Simulink仿真入门到精通(二)Simulink模块
Simulink仿真⼊门到精通(⼆)Simulink模块2.1 Simulink模块的组成要素⽤户构建系统模型时⽆需直接⾯对成千上万⾏的代码,⽽是通过模块化图形界⾯以模块化的⽅式构建,能够使理解变得容易,让⼤脑减负。
通过层次化模块分布将系统功能模块化,⽽将每个功能的细节隐藏在模块内部。
模块的构成元素1. 输⼊/输出端⼝:作为模块之间传递数据的纽带,连接输⼊信号和输出信号。
2. 模块外观:通常为矩形或圆形,上⾯带有说明⽂字或图像并显⽰有输出/输出端⼝名。
3. 模块对话框:双击模块外观后弹出的参数GUI,可以在参数控件上进⾏参数设置。
Ctrl+R顺时针旋转90°模块的属性及参数1. gcb:获取当前被选中的模块2. gcbh:获取当前被选中的模块的句柄3. get(handle):获取模块的属性信息4. inspect(handle):通过属性观察器⽅式罗列模块的属性信息5. get_param(block,prop_string):获取block模块的prop_string属性值6. set_param(block,prop_string,prop_value):将block模块的prop_string属性的值设为prop_value。
prop_string,prop_value可以多对出现>> new_system('mymodel')>> open_system('mymodel')>> gcbans ='mymodel/Constant'>> get(gcbh)Path: 'mymodel'Name: 'Constant'Tag: ''Description: ''Type: 'block'Parent: 'mymodel'Handle: 1.8170e+03HiliteAncestors: 'none'RequirementInfo: ''FontName: 'auto'FontSize: -1FontWeight: 'auto'FontAngle: 'auto'Selected: 'on'MaskType: ''......常⽤属性列表属性名作⽤说明Path模块在模型中的路径Name模块的名字ShowName模块的名字是否显⽰出来BlockType模块的类型名Handle模块的句柄,double数据表⽰Position模块的边框在当前模型中的位置ForegroundColor模块的前景⾊BackgroundColor模块的背景⾊Sample Time模块的采样时间FontAngle字体斜度FontName字体名FontSize字体⼤⼩FontWeight字体粗度......>> set_param(gcbh,'BackgroundColor','yellow')>> set_param(gcbh,'ForegroundColor','red')set_param/get_param的第⼆个参数使⽤的不是提⽰标签,⽽是参数的变量名。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 增益模块(Gain)与滑块增益模块(Slider Gain):在输入信 号基础上乘以一个设定的数据,然后输出。
• 叉乘模块(Product)和叉除模块(Divide)、元素相乘 (Product of Elements)
• 点乘模块(Dot Product) • 符号函数(Sign)、绝对值模块(Abs)、取反模块(Unary
10、Sinks(信号接受模块组)
• 输出到工作空间模块( Out1):用来反映整个系统的输出端,在系统 直接仿真时,这样的输出将自动在Matlab工作空间中生成变量。
• 终结模块(Terminator):用来终结输出信号,在仿真时可以避免 由于某些模块的输出端无连接而导致的警告。
• 输出数据到文件模块(To File):将模块输入的数据输出到.mat文 件当中
可变时间延迟模块(Variable Transport Delay):输入信号 延时一个可变时间再输出
2、 Discrete(离散模块组)
• 单位延迟模块(Unit Delay):一个采样周期的延时 • 积分延迟(Integer Delay):对信号进行N步信号延迟 • 离散时间积分模块(Discrete-time Integrator):离散信号
• 动态斜率限制模块(Rate Limiter Dynamic):类似于斜率 限制模块,上下限可由外部信号确定。
4、Logic and Bit Operations(逻辑运算模块组)
• 逻辑运算模块(Logical Operator) • 关系运算符(Relational Operator) • 区间测试模块(Interval Test)和动态区间测试模块
行串联,有两种方式:水平串联和竖直串联
7、 Math Operations(数学运算模块组)(续)
• 修改矩阵维数模块(Reshape)
• 由复数输入转为幅值和相角输出(Complex to MagnitudeAngle)和由幅值和相角输入转为复数输出(MagnitudeAngle to Complex)
• 触发子系统(Triggered Subsystem),使能子系统 (Enabled Subsystem),触发和使能子系统(Enabled and Triggered Subsystem):分别在触发信号发生时,使 能信号发生时,以及使能和触发信号同时发生时,子系统 可以工作
• 结构控制子系统(For Iterator Subsystem, While Iterator Subsystem):都是程序控制子系统
2、在MATLAB命令窗口中输入simulink3 结果是在桌面上出现一个用图标形式显示的Library :simulink3 的Simulink模块库窗口。
三、SIMULINK的模块库介绍
SIMILINK模块库按功能进行分类,包括以下子库: Continuous(连续模块组) Discrete(离散模块组) Discontinuities(非连续模块组) Logic and Bit Operations(逻辑运算模块组) Math Operations(数学运算模块组) Lookup Tables(查表模块组)
• 切换模块(Switch):通过第二个端口设置限制,在第一 个和第三个端口间转换。
• 多端口切换模块(Multiport Switch):第一个端口是控 制端口,其余的是数据端口。通过第一个端口来选择要输 出的输入端口。
• Data Store Read, Data Store Memory和 Data Store Write: 对数据进行读取、存储和写入到内存的模块
• 在视觉上表现为直观的方框图; • 在文件上则是扩展名为 mdl 的ASCII代码; • 在数学上表现为一组微分方程或差分方程; • 在行为上则模拟了实际系统的动态特性 。
SIMULINK 模型通常包含三种 “组件”:
• 信源( Sources):可以是常数、时钟、白噪声、正弦波、阶梯波、扫频 信号、脉冲生成器、随机数产生器等信号源; • 系统( System):即指被研究系统的 SIMULINK 方框图; • 信宿( Sink):可以是示波器、图形记录仪等。
• 转向控制子系统(If Action Subsystem, Switch Case Action Subsystem):通过条件判断,转向制定的子系统。
9、Signal Routing(信号通道模块组)
• 混路器(Mux):将多路信号依照向量的形式混合成一路 信号。
• 分路器(Demux):将混合成的一路信号依照原来顺序分 解成多路信号。
5、 Lookup Tables(查表模块组)
• 一维查表模块(Look-Up Table):给出一组坐标参考值, 则输入量经过查表和插值计算出输出值返回。
• 二维查表模块(Look-Up Table(2-D)):给出一组二维平 面的高度值,则输入两个量经过查表和插值计算出输出值 返回。
• 动态查表模块( Look-Up Table Dynamic):功能类似上 面的模块,只是查表的参考数据是动态输入的。
• 多项式运算模块(Polynomial) • 最值运算模块(MinMax):对输入信号取最大值和最小
值
• 三角函数模块(Trigonometric):包括正弦、余弦、正切 等
• 正弦波模块(Sine Wave):可设置幅值、相角和频率 • 矩阵串联模块(Matrix Concatenation):对输入数据进
积分 • 离散传递函数模块(Discrete Transfer-Fcn):离散传递函
数模型 • 离散滤波器(Discrete Filter):离散滤波器 • 离散零极点(Discrete Zero-Pole):以零极点表示的离散传
递函数模型 • 差分模块(Difference):计算一步内信号的变化 • 记忆模块(Memory):输出前一时刻的输入
Minus)
7、 Math Operations(数学运算模块组)(续)
• 数学函数模块(Math Function):包括指数函数、对数 函数、求平方、开根号等常用数学函数
• 舍入取整模块(Rounding Function):对输入数据进行 舍入操作,包括floor、ceil、round和fix
• 输出数据到工作空间模块(To Workspace):将模块输入的数据输 出到工作空间当中
• 示波器模块(Scope):将信号输入到示波器中显示出来。 • X-Y示波器模块(XY Graph):将两路信号分别作为示波器的两
个坐标轴,以显示信号的相轨迹。
• 显示数据模块(Display):将输入信号以数字形式显示出来 • 终止仿真模块(Stop Simulation) :若输入为非零,则强制终止仿真。
第一节 SIMULINK简介
一、什么是SIMULINK
SIMULINK是MATLAB软件的扩展,它是实现动态系统建模 和仿真的一个软件包,其文件类型为.mdl,它与MATLAB语言 的主要区别在于,其与用户交互接口是基于Windows的模型化 图形输入,其结果是使得用户可以把更多的精力投入到系统模 型的构建,而非语言的编程上。
二、SIMULINK的启动
1、在MATLAB命令窗口中输入simulink 结果是在桌面上出现一个称为Simulink Library Browser的窗 口,在这个窗口中列出了按功能分类的各种模块的名称。 当然用户也可以通过MATLAB主窗口的快捷按钮来打开 Simulink Library Browser窗口。
• 由复数输入转为实部和虚部输出(Complex to Real-Imag) 和由实部和虚部输入转为复数输出(Real-Imag to Complex)
8、Ports &Subsystems(端口与子系统模块组)
• 空白子系统(Subsystem, Atomic Subsystem, CodeReuse Subsystem):允许用户在其间绘制所需的子系统模型
2、 Discrete(离散模块组)(续)
• 零阶保持器(Zero-Order Hold):在计算步长内使输出值 保持相同
• 一阶保持器(First-Order Hold):在计算步长内,按照一 阶插值的方法进行插值,然后输出
3、 Discontinuities(非连续模块组)
• 饱和模块(Saturation):可设置模块的上下限,当信号超 过上限时,用上限代替,当信号小于下限时,用下限代替。
Ports &Subsystems(端口与子系统模块组) Signal Routing(信号通道模块组)
Sinks(信号接受模块组) Sources(信号源模块组)
1、 Continuous (连续模块组)
积分模块(Integrator):输入信号数值积分 微分模块(Derivative):输入信号数值微分 状态空间模块(State-Space):线性状态空间系统模型 传递函数模块(Transfer-Fcn):线性传递函数模型 零极点模块(Zero-Pole):以零极点表示的传递函数模型 时间延迟模块(Transport Delay):输入信号延时一个固定 时间再输出
11、Sources(信号源模块组)
• 输入端口模块(In1):用来反映整个系统的输入端,在 模型线性化与命令行仿真时,这个设置非常有用,可作为 信号输入。
• 接地模块(Ground):用于表示零输入模块。 • 从文件中输入数据模块(From File) • 从工作空间输入数据模块(From Workspace) • 常数模块(Constant):产生不变常数 • 信号发生器模块(Signal Generator):可产生正弦、方
• 死区模块(Dead Zone):可以设置死区开始和结束的时间, 在此时间段内输出信号为零。