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完成实际工程
- 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):可以设置死区开始和结束的时间, 在此时间段内输出信号为零。