simulink仿真说明
SIMULINK仿真

后面的每一列对应每一个输入端口,矩阵的第一行表示某 一时刻各输入端口的输入状态。另外,也可以把矩阵分开 来表示,即MATLAB默认的表示方法[t,u],其中t是一维 时间列向量,表示仿真时间,u是和t长度相等的n维列向 量(n表示输入端口的数量),表示状态值。例如,在命 令窗口中定义t和u:
条件执行子系统分为
1.使能子系统
使能子系统表示子系统在由控制信号控制时,控制信号由 负变正时子系统开始执行,直到控制信号再次变为负时结 束。控制信号可以是标量也可以是向量。
建立使能子系统的方法是:打开Simulink模块库中的Ports & Subsystems模块库,将Enable模块复制到子系统模型 中,则系统的图标发生了变化。
阵、结构和包含时间的结构3种选择。“Limit data points to last”用来限定保存到工作空间中 的数据的最大长度。 输出选项(Output options)有: ① Refine output(细化输出) ② Produce additional output(产生附加输出) ③ Produce specified output only(仅在指定 的时刻产生输出)
4.1 初识Simulink—— 一个简单的仿 真实例
在MATLAB的命令窗口输入Simulink,或单击MATLAB主 窗口工具栏上的“Simulink”命令按钮即可启动Simulink。 Simulink启动后会显示如图4.1所示的Simulink模块库浏览 器(Simulink Library Browser)窗口。
U (s)
Kp
Ki s
Kd s
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)为进行仿真,双击示波器模块,打开示波器显示屏。
simulink热仿真

simulink热仿真摘要:一、Simulink 简介1.Simulink 的定义2.Simulink 的应用领域二、Simulink 热仿真1.热仿真的概念2.Simulink 热仿真的特点3.Simulink 热仿真的应用场景三、Simulink 热仿真的基本步骤1.准备模型2.添加热仿真模块3.配置模型参数4.运行仿真四、Simulink 热仿真的高级技巧1.模型优化2.结果分析3.参数调整五、Simulink 热仿真的实际应用案例1.案例介绍2.案例实施过程3.案例结果分析六、总结1.Simulink 热仿真的优势2.Simulink 热仿真的发展前景正文:一、Simulink 简介Simulink 是由美国MathWorks 公司开发的一款用于模型构建、仿真和分析的软件。
它采用图形化用户界面,用户可以通过拖拽组件来构建模型,然后对模型进行仿真和分析。
Simulink 广泛应用于各种领域,如控制系统、信号处理、通信等。
二、Simulink 热仿真1.热仿真的概念热仿真,顾名思义,是指对热现象进行仿真的过程。
在工程领域,热仿真常常用于分析物体在温度变化下的热传导、热膨胀等现象。
通过热仿真,可以预测设备在不同温度条件下的性能,为产品设计提供依据。
2.Simulink 热仿真的特点Simulink 热仿真具有以下特点:(1)丰富的模块库:Simulink 提供了丰富的热仿真模块,用户可以根据需要选择合适的模块进行模型构建。
(2)图形化界面:Simulink 采用图形化界面,使得模型构建和仿真过程更加直观。
(3)强大的仿真功能:Simulink 热仿真可以对复杂的模型进行高效、精确的仿真。
3.Simulink 热仿真的应用场景Simulink 热仿真主要应用于以下场景:(1)电子设备的热分析:分析电子设备在不同工作条件下的温度分布,以保证设备的可靠性和稳定性。
(2)机械设备的热分析:分析机械设备在高温或低温条件下的热膨胀、热变形等问题。
实验二、SIMULINK仿真(报告完整版)

由两种方法可以看出,运用函数编程编写代码进行试验时比较麻烦,调试比较
麻烦,但是运用 SIMULINK 模型来搭建系统,可视化比较好,而且在调试参数 时可以很简单的进行调整,即调试系统是比较简单。
SIULINK 模型与现实中的方框图的整体结构很相似,运用起来更加简单。因此在
进行控制模型调试过程最好运用 SIMULINK 方法。 3. 蹦极跳的数学模型为:
系统的 SIMULINK 模型如图(9)所示:
图(9)
x(t),x'(t)的曲线波形如图(10)所示:
图(10)
4. 建立单闭环调速系统的 SIMULINK 模型,并对 PID 控制器进行封装和对 P,I,D 参数进行设置。
单闭环调速系统的 SIMULINK 模型如图(11)所示,其中各个模块的参数可以再模
图(5)
(2)将(1)中的开环传递函数转换为状态空间模型。
实验代码:
[A,B,C,D]=tf2ss(1,[1 0.6 0])
执行结果:
A = -0.6000 1.0000 B = 1 0 C = 0 0
0 D = 0
1
2. 系统的微分方程为: x x(r ay ) y y (d bx) 设 r=1,d=0.5,a=0.1,b=0.02,x(0)=25,y(0)=2 1) 利用 MATLAB 所提供的函数,编写求解上述微分方程的 M 文件,求出 x(t),y(t);
mx mg b( x) x a1 x a2 x x
Kx x 0 b( x ) x0 0 其中 m 为物体的质量,g 为重力加速度,x 为物体的位置,第二项表示绳索的 弹力,K 为绳索的弹性系数,第三项和第四项表示空气的阻力。 设蹦极者的初始位置为 x(0)= -30, 起始速度为 x(0)'=0; 其余的参数为 a1=a2=1, m=70mg,g=10m/s2.试建立系统的 SIMULINK 模型,并给出 x(t),x'(t)的曲线波形
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进行系统仿真。
Simulink仿真流程可以分为以下几个步骤:1. 模型建立,首先,我们需要在Simulink中建立系统的模型。
这可以通过拖放各种组件来实现,包括传感器、执行器、控制器等。
这些组件可以通过连接线连接起来,以构建系统的整体模型。
2. 参数设置,在建立模型后,我们需要设置各个组件的参数,包括传感器的灵敏度、执行器的动态响应等。
这些参数设置将直接影响系统的仿真结果。
3. 信号输入,接下来,我们需要确定系统的输入信号,这可以是一个预先定义的信号,也可以是一个外部输入。
这些输入信号将作为系统的激励,驱动系统进行仿真。
4. 仿真运行,一切就绪后,我们可以开始运行仿真。
Simulink将根据模型和参数设置,以及输入信号,模拟系统的动态行为,并输出相应的仿真结果。
5. 结果分析,最后,我们需要对仿真结果进行分析。
这包括系统的响应曲线、稳定性分析、频域特性等。
通过对仿真结果的分析,我们可以评估系统的性能,并进行必要的调整和优化。
总的来说,Simulink的仿真流程涉及模型建立、参数设置、信号输入、仿真运行和结果分析等多个环节。
通过深入了解Simulink的仿真流程,我们可以更好地利用这一工具来进行系统建模和分析,从而更好地理解和设计复杂的控制系统。
Simulink仿真教程

图9-23 子系统模块复制到模型窗
图9.24 原始子系统模块的内部结构型窗
仿真技术
第九章 Simulink动态仿真
PID控制器子系统创建过程: ③ 将组成子系统的模块填加到子系统编辑窗口: ④ 将模块按设计要求连接:
仿真技术
第九章 Simulink动态仿真
PID控制器子系统创建过程: ⑤ 设置子系统各模块参数(可以是变量);修改 in1 和 out1 模块 下面的标签; ⑥ 关闭子系统的编辑窗口,返回模型窗口,修改子系统的标签 (PID),该PID子系统即可作为模块在构造系统模型时使用。
9.3 子系统创建与封装
9.3.2 子系统的封装
子系统可以建立自己的参数设置对话框,以避免对子 系统内的每个模块分别进行参数设置,因此在子系统 建立好以后,需对其进行封装。子系统封装的基本步 骤如下: ① 设置好子系统中各模块的参数变量; ② 定义提示对话框及其特性; ③ 定义被封装子系统的描述和帮助文档; ④ 定义产生模块图标的命令。
仿真技术
第九章 Simulink动态仿真
9.3 子系统创建与封装
9.3.1 子系统的创建 1. 通过子系统模块来建立子系统 在Simulink库浏览器,有一个子系统(Subsystems)的库模 块(有的版本在Signals & Systems子库里),点击该图标即 可看到不同类型的子系统模块。
9.3 子系统创建与封装
9.3.1 子系统的创建 2. 组合已存在的模块来建立子系统
如果现有的模型已经包含了需要转化成子系统的模块,就可以 通过组合这些模块的方式建立子系统。步骤如下:
① 确定需建立Subsystem的模型(被选中的均标记有黑块)
第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(基于时间的线性化模型)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Simulink是Simulation和link仿真链接。
是一个附加组件,为用户提供了一个建模与仿真的工作平台,由于许多功能是基于MATLAB平台的。
必须在MATLAB环境中运行,也把他称为一个MATLAB的工具箱。
以前MATLAB仿真编程是在文本窗口中进行的。
输入函数是命令和MATLAB 函数,在simulink 中与用户的交互接口是基于windows的模型化图形输入,用户可以通过单击拖动鼠标的方式绘制和组织系统,并完成对系统的仿真。
因此对于我们来说只需知道这些功能模块的输入输出、功能以及图形界面的使用方法。
就可以用鼠标和键盘进行仿真。
三种方法进入Simulink1、在MATLAB菜单栏中单击FILE,在下拉菜单的NEW选项中单击MODEL.2、在MATLAB工具栏中单击彩色图标,然后在打开的模型库浏览器窗口中单击‘新建文件‘3、在MATLAB命令窗口中输入Simulink,然后在打开的模型库浏览器窗口中单击‘新建文件‘。
一、模块的提取左键拖曳右键add to二、模块的移动放大和缩小移动:左键拖曳选中后用方向键脱离线移动按住shift 然后拖曳缩放 : 点击模块四个角拖曳三、复制粘贴和删除和windows一样删除选择clear四、模块的旋转:右键点击然后选择Flip block 顺时针转180度 rotate block顺时针90度。
五、模块名的修改移动:单击该模块名出现一个小框可以像文本一样修改移动还可以右键单击然后Hide name六、模块参数设置:双击七、模块连接:光标的箭头对准模块的输出端变成+后按下左键拖曳到另一个输入端松开左键。
八、连线的弯折开始画线时,在需要弯折的地方松开鼠标停顿一下,然后继续按下鼠标左键改变方向即可。
移动光标指向要移动的线段,然后拖动鼠标即可删除选中要删除的部分,然后delete直流电动机的直接启动新建一个simulink 仿真平台打开simulink然后点击新建打开simpowersystems的加号在electrical source中选择D C Voltage Source拖曳到仿真平台Elements里面选BreakerConnectors 里面选择Ground output把电源正端接到断路器的1端,电源负端接地。
Simulink前边的加号打开,在sources里选择step阶跃函数,拖曳到仿真平台,将其输出和断路器的C端相连,在machines里面选DC Machine,将断路器的2端和电机的A端正相连,Elements里面选Series RLC Branch,双击Series RLC Branch,然后电感值设定为0,电容设定为inf,单击确定退出,右键点击Series RLC Branch在format中选择rorate block 然后调整大小,把它放在电机和断路器中间右键点击电机和断路器中间的连线变成十字,按住拖曳到电阻的输入箭头,Connectors 里面选择Ground input 将地与电阻的输出连接右键点击D C Voltage Source然后按住拖曳到电机的上方然后右键点击新的电源模块在下拉菜单中选择rorate block,然后在右键然后Flip block,将电源的输出箭头和电机的F+相连,输入和电机的F-相连。
右键单击连接电阻的那个输入地按住拖曳到电机A-旁边,连接。
Simulink前边的加号打开,signal routing 选择Demax放在仿真平台然后双击将输出的数量改成4 调整大小。
然后把电机的M端和Demax左端的接口相连,在sink理选择Scope 并且双击他,在Scope窗口中点击第二行的第二个图标parameters将Number of axes 里选择4 然后点击data history里把“最后输出点限制”的框选去掉。
确定退出。
将Scope放在Demax右侧并调整大小。
并将4对接口依次相连。
点击仿真平台标题栏的simulation,后选择simulation parameters ,在solver标签下在solver options 里将ode45的下拉菜单换成ode23s,确定退出。
点击仿真平台第二行的三角形的图标,运行。
ode45特别适用于仿真线性化程度高的系统,这种系统模型主要有传递函数,状态空间,零极点,增益等标准功能模块构成,由于期算法速度较快,所以仿真时一般把其作为默认算法,simulink中汇集了求解常微分方程数值解的方法,主要有可变步长、固定步长2种。
可变步长可叫程序修正每次仿真的步长的大小,固定步长不能修正步长大小。
可变步长有:1 ode45 Rung-Kutta和Dormand-Prince组合算法。
对大多仿真模型来说,首先使用ode45是最佳选择。
2 ode23是博加茨基和沙派恩算法相结合的算法,在容许误差和计算略带刚性问题方面,该算法比ode45好3 ode113 Adams-Bashforth-Moulton PECE 算法,在误差要求很严时,ode114算法较ode45更合适。
是一种多步算法。
4 ode15s 可变阶数的NDFs算法,相对BDFs算法较好。
是多步算法,刚性问题ode45不行时,可以试试这种算法。
5 ode23s 改进的二价Rosenbrock算法。
容许误差较大时,ode23s比ode15好,所以在解一类待刚性问题时,ode15s不行,可以用此法试试。
6 ode23t 自由内插方法的梯形算法,对刚性、又要求解没有数值衰减时,可以用此法。
7 ode23tb 采用T R-BDF2算法,在龙-库第一阶段用梯形法,第二阶段用二阶BDF算法。
结构上,两个阶段估计使用的是同一矩阵。
容差比较大时, ode23tb 和ode23t都比ode15s好8 discrete 处理离散系统算法。
固定步长算法:1 ode5 D-P算法,也就是固定步长的ode452 ode4 四价龙-库法3 ode3 Bogacki-Shampine算法4 ode2 改进的欧拉算法5 ode1 欧拉算法(Euler)6 discrete 不含积分的固定步长解法。
目前没有一种对所有的模型都有效的方法,我们要根据各种模型的特点,各种数值积分方法的特点和范围,选择正确的算法。
这一点是很多不研究数学的人是最难得。
幸好MATLAB告诉编入了当今主要的各种数值的计算方法。
所以,在MATLAB 官方文件中,明确的告诉大家在用一种算法不能解决问题的时候,应该试试另一种方法。
采用这种办法来仿真。
一般采用可变步长的方法来仿真。
在用微分方程描述的一个变化过程中,若往往又包含着多个相互作用但变化速度相差十分悬殊的子过程,这样一类过程就认为具有“刚性”。
描述这类过程的微分方程初值问题称为“刚性问题”。
例如,宇航飞行器自动控制系统一般包含两个相互作用但效应速度相差十分悬殊的子系统,一个是控制飞行器质心运动的系统,当飞行器速度较大时,质心运动惯性较大,因而相对来说变化缓慢;另一个是控制飞行器运动姿态的系统,由于惯性小,相对来说变化很快,因而整个系统就是一个刚性系统。
微分方程是解决科学技术与工程计算问题的重要工具,在大到航空、航天、原子弹爆炸,小到核子反应、细胞分裂等领域里都有着极为广泛的应用。
但即使一个问题可用微分方程描述,解开此微分方程也往往不是易事。
例如,属于“刚性问题”的一类微分方程就不太好对付。
什么是刚性问题?在用微分方程描述的一个变化过程中,若往往又包含着多个相互作用但变化速度相差十分悬殊的子过程,这样一类过程就认为具有“刚性”。
描述这类过程的微分方程初值问题称为“刚性问题”。
例如,宇航飞行器自动控制系统一般包含两个相互作用但效应速度相差十分悬殊的子系统,一个是控制飞行器质心运动的系统,当飞行器速度较大时,质心运动惯性较大,因而相对来说变化缓慢;另一个是控制飞行器运动姿态的系统,由于惯性小,相对来说变化很快,因而整个系统就是一个刚性系统。
又如,由三种物质A、B、C参加的一个化学反应,其反应过程如下:A0.004B(慢)B+B3×l07C+B(很快)B+C104A+C(快)由于各子过程的化学反应速度相差十分悬殊,这一化学反应也是具有刚性的。
诸如此类的例子还有很多,用来描述这些过程的微分方程初值问题都是刚性问题。
随着现代科学技术特别是高新技术的发展我们所遇到的刚性问题越来越多。
刚性问题解答的难度就在于其快变子系统的干扰,当我们试图在慢变区间上求解刚性问题时,尽管快变分量的值已衰减到微不足道,但这种快速变化的干扰仍严重影响数值解的稳定性和精度,给整个计算带来很大的实质性的困难。
Stiff稳定等概念及理论,推进了线性刚性问题的研究,龙格———库塔方法的B-稳定及代数稳定理论、龙格———库塔方法的B-收敛理论,在上一个模型的基础上:将两个DC Voltage Source改成240V,将Breaker中改成吸收电容:一般在实际中就有应该说主要是为了在开关断开时减少开关断开的两个触点之间形成的电弧。
开关闭合时,则没有消除电火花的作用。
因为开关所接的电路中,常常都属于感性负载,感性负载在断电时由于电流不能突变,因此会在断开的两个触点之间形成的电弧,这个电弧一方面对触点造成损坏作用(容易拉成毛刺),一方面影响电路的断开时间,加上电容后,由于电容两端电压不能突变,使触点两端的电压也不能突变,因此就没有火花形成,起到保护触点的作用和及时断开电路的作用。
然后仿真试试在simulink中的math opreation中选择gain拖曳到仿真平台旋转然后将双击将gain 中的1换成0.2287 之后将第一个示波器的连线接到它的输入端它的输出端接电机的TL之后仿真看结果。