动态系统仿真Simulink-精选
Simulink动态仿真仿真
Simulink动态仿真仿真Simulink简介:Simulink是MATLAB的重要组成部分,提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能。
1、启动方法:单击图标或在窗口输入simulink在启动Simulink模块库浏览器后再单击其工具栏中的New model 命令按钮,会弹出名字为untitled的模型编辑窗口。
在MATLAB主菜单中,选择File菜单中New菜单项的Model命令,也可打开模型编辑窗口。
利用模型编辑窗口,可以通过鼠标的拖放操作创建一个模型。
2、Simulink的退出为了退出Simulink,只要关闭所有模型编辑窗口和Simulink模块库浏览器窗口即可。
3、Simulink的基本模块4、掌握模块的编辑:添加,选取,复制删除。
5、掌握模块的连接举例:建立系统仿真x1=x2*tX2=x2*e(-0.5*t)操作步骤1) 在MATLAB主菜单中,选择File菜单中New菜单项的Model命令,打开一个模型编辑窗口。
(2) 将所需模块添加到模型中。
(3) 设置模块参数并连接各个模块组成仿真模型。
设置模块参数后,用连线将各个模块连接起来组成系统仿真模型。
模型建好后,从模型编辑窗口的File 菜单中选择Save 或Save as 命令将它存盘。
举例2:使用simlink 仿真下列曲线,取w=2*pix(wt)=sin(wt)+1/3*sin(3wt)+1/5*sin(5wt)+1/7*sin(7wt)+1/9*sin(9wt) 步骤:(1) 启动Simulink 并打开模型编辑窗口。
(2) 将所需模块添加到模型中。
(3) 设置模块参数并连接各个模块组成仿真模型。
设置模块参数后,用连线将各个模块连接起来组成仿真模型。
(4) 设置系统仿真参数。
(5) 开始系统仿真。
(6) 观察仿真结果。
作业:完成相关习题:1、使用simlink 仿真下列曲线,取w=2*pix(wt)=1/3*sin(5*wt)+ sin(wt)+sin(1/8*wt)2、使用simlink 仿真i=⎰+10)1ln(*dx x x。
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具有开放式 架构,可以与其他 MATLAB工具箱无缝 集成,从而扩展其功 能。
Simulink的应用领域
指数运算模块
用于实现信号的指数运算。
减法器
用于实现两个信号的减法 运算。
除法器
用于实现两个信号的除法 运算。
对数运算模块
用于实现信号的对数运算。
输出模块
模拟输出模块
用于将模拟信号输出 到外部设备或传感器。
数字输出模块
用于将数字信号输出 到外部设备或传感器。
频谱分析仪
用于分析信号的频谱 特性。
波形显示器
控制工程
Simulink在控制工程领域 中应用广泛,可用于设计 和分析各种控制系统。
信号处理
Simulink中的信号处理模 块可用于实现各种信号处 理算法,如滤波器设计、 频谱分析等。
通信系统
Simulink可以用于设计和 仿真通信系统,如调制解 调、信道编码等。
图像处理
Simulink中的图像处理模 块可用于实现各种图像处 理算法,如图像滤波、边 缘检测等。
用于将时域信号转换为频域信号,如傅里叶变换、 拉普拉斯变换等。
03 时域变换模块
用于将频域信号转换为时域信号,如逆傅里叶变 换、逆拉普拉斯变换等。
04
仿真过程设置
仿真时间的设置
仿真起始时间
设置仿真的起始时间,通 常为0秒。
步长模式
选择固定步长或变步长模 式,以满足不同的仿真需 求。
如何使用MATLABSimulink进行动态系统建模与仿真
如何使用MATLABSimulink进行动态系统建模与仿真如何使用MATLAB Simulink进行动态系统建模与仿真一、引言MATLAB Simulink是一款强大的动态系统建模和仿真工具,广泛应用于各个领域的工程设计和研究中。
本文将介绍如何使用MATLAB Simulink进行动态系统建模与仿真的方法和步骤。
二、系统建模1. 模型构建在MATLAB Simulink中,可以通过拖拽模块的方式来构建系统模型。
首先,将系统的元件和子系统模块从库中拖拽到模型窗口中,然后连接这些模块,形成一个完整的系统模型。
2. 参数设置对于系统模型的各个组件,可以设置对应的参数和初始条件。
通过双击模块可以打开参数设置对话框,可以设置参数的数值、初始条件以及其他相关属性。
3. 信号连接在模型中,各个模块之间可以通过信号连接来传递信息。
在拖拽模块连接的同时,可以进行信号的名称设置,以便于后续仿真结果的分析和显示。
三、系统仿真1. 仿真参数设置在进行系统仿真之前,需要设置仿真的起止时间、步长等参数。
通过点击仿真器界面上的参数设置按钮,可以进行相关参数的设置。
2. 仿真运行在设置好仿真参数后,可以点击仿真器界面上的运行按钮来开始仿真过程。
仿真器将根据设置的参数对系统模型进行仿真计算,并输出仿真结果。
3. 仿真结果分析仿真结束后,可以通过查看仿真器界面上的仿真结果来分析系统的动态特性。
Simulink提供了丰富的结果显示和分析工具,可以对仿真结果进行绘图、数据处理等操作,以便于对系统模型的性能进行评估。
四、参数优化与系统设计1. 参数优化方法MATLAB Simulink还提供了多种参数优化算法,可以通过这些算法对系统模型进行优化。
可以通过设置优化目标和参数范围,以及定义参数约束条件等,来进行参数优化计算。
2. 系统设计方法Simulink还支持用于控制系统、信号处理系统和通信系统等领域的特定设计工具。
通过这些工具,可以对系统模型进行控制器设计、滤波器设计等操作,以满足系统性能要求。
simulink 仿真原理
simulink 仿真原理Simulink是一种用于建立、仿真和分析动态系统的工具,它基于块图的图形化建模和仿真环境。
Simulink中的模型由各种块组成,每个块代表系统中的一个组件或子系统。
通过连接块之间的信号流,可以建立系统的完整模型。
在Simulink中,系统的行为可以用已知的数学和物理原理描述。
通过在块间定义输入和输出之间的关系,可以建立数值模型。
仿真过程可以提供系统的响应和行为,并用于验证模型的正确性。
Simulink提供了多种模型库,包括数学操作、信号处理、控制系统、电力系统等领域。
用户可以根据需要选择适当的块来构建他们的模型。
此外,Simulink还提供了丰富的仿真参数和分析工具,使用户可以对系统进行深入的研究和优化。
使用Simulink进行仿真的过程通常包括以下步骤:1. 建立模型:选择适当的块,并将它们连接在一起,以形成系统模型。
2. 定义输入信号:指定模型的输入信号,可以是常数、波形或来自外部数据源。
3. 配置模型参数:设置块和模型的参数,例如采样时间、模拟时间、仿真器选项等。
4. 运行仿真:开始仿真过程,并观察系统的响应和行为。
5. 分析和优化:使用Simulink提供的工具进行结果分析和系统优化。
6. 生成代码:将模型生成可嵌入系统或实时硬件的代码。
7. 验证和验证:使用实际数据对生成的代码进行验证,并验证系统的正确性。
Simulink的应用广泛,可以用于开发控制系统、信号处理算法、通信系统等各种领域。
通过图形化建模和仿真环境,Simulink大大简化了系统开发和测试的过程,提高了开发效率和质量。
同时,Simulink也与MATLAB密切集成,可以轻松地进行数据分析和可视化。
simulink建模及动态仿真的一些实验步骤
simulink建模及动态仿真的一些实验步骤Simulink是MATLAB中的一种可视化仿真工具,可以用于动态系统建模、仿真和分析。
以下是一些Simulink建模及动态仿真的实验步骤:启动Simulink:首先,需要打开MATLAB,然后在MATLAB 的命令窗口中输入“simulink”命令,或者点击工具栏中的Simulink 图标来启动Simulink。
新建模型:在Simulink的启动界面中,可以选择“Blank Model”来新建一个空白的模型。
也可以选择其他预设的模型模板来开始建模。
构建系统模型:在新建的模型窗口中,可以通过从Simulink 的模块库中拖拽模块到模型窗口中来构建系统模型。
模块库中包含了各种类型的模块,如源模块、接收模块、处理模块等。
将这些模块按照系统的结构和功能连接起来,形成一个完整的系统模型。
设置模块参数:对于模型中的每个模块,都可以双击打开其参数设置对话框,设置其参数和初始条件。
这些参数和初始条件将决定模块在仿真中的行为。
设置仿真参数:在模型窗口的工具栏中,可以点击“Simulation”->“Model Configuration Parameters”来打开仿真参数设置对话框。
在这个对话框中,可以设置仿真的起始和结束时间、仿真步长、求解器类型等参数。
开始仿真:完成以上步骤后,可以点击模型窗口工具栏中的“Run”按钮来开始仿真。
在仿真过程中,可以实时观察模型中各个模块的状态和输出。
分析结果:仿真结束后,可以使用Simulink提供的各种分析工具来分析仿真结果。
例如,可以使用示波器模块来显示仿真过程中某个模块的输出波形,也可以使用MATLAB的工作空间来查看和处理仿真数据。
以上步骤是一个基本的Simulink建模和动态仿真的过程。
在实际使用中,可能还需要根据具体的需求和系统特点进行一些额外的设置和调整。
Simulink系统仿真原理
仿真效率取决于计算机性能、模型复杂度和数值算法的优化程度。
03
Simulink模型建立
模型元素
模块
Simulink中的模块是构成模型的基本单元, 每个模块代表一个特定的功能或算法。
连接线
连接线用于将不同模块连接起来,表示数据 流或信号流。
参数设置
每个模块都有一些参数可以设置,用于调整 模块的行为或功能。
性能评估
根据仿真结果,评估系统性能指标,如响应时间、超调量、稳态误 差等。
优化设计
基于仿真结果,对系统参数和结构进行优化设计,提高系统性能和 稳定性。
05
模型优化与改进
参数优化
参数优化
在Simulink模型中,参数的选择和调整对仿真结果的影响非常大。通过调整模型中的 参数,可以优化模型的性能,提高仿真的准确性和效率。
通过点击Simulink界面上的“开 始”按钮或使用命令行指令来启 动仿真。
实时监测
02
03
结果导出
在仿真过程中,可以通过 Simulink界面实时监测系统状态、 变量值和输出结果等。
将仿真结果导出为文本、图像或 数据文件,以便进一步分析或与 其他软件进行交互。
模型性能分析
稳定性分析
通过分析仿真结果,判断系统是否稳定,并找出可能的不稳定因素。
特点
支持图形化建模、交互式仿真、动态 系统分析等,适用于多种领域的系统 建模与仿真。
Simulink的历史与发展
1980年代初
由美国MathWorks公司推出Simulink的早期版 本。
1990年代
随着计算机技术的进步,Simulink的功能不断 扩展,支持更多的系统和算法。
2000年代至今
simulink动态系统建模仿真 第6章
第6章 Simulink动态系统仿真
6.1 Simulink动态系统仿真过程 6.2 离散系统仿真 6.3 连续系统仿真 6.4 混合系统仿真 6.5 模型离散化 6.6 诊断仿真错误 6.7 改善仿真性能和精度 6.8 综合实例
第6章 Simulink动态系统仿真
(3) 检测模块连续状态中的不连续性。是否执行这步操作是 根据用户的设置来决定的,如果用户在模型中选择了执行过零检 测,那么Simulink会利用过零检测来检测模块连续状态中的不连 续性。
第6章 Simulink动态系统仿真
(4) 计算下一个时间步的时间。Simulink在整个仿真过 程中的每个时间步内均执行(1)~(4)步操作,这个过程会一 直进行下去,直至仿真结束。
第6章 Simulink动态系统仿真
Simulink 系统
系统信息:参数、模型方程 求解器
计算得到的值:状态、输入、时间
图6-2
第6章 Simulink动态系统仿真
1.定步长求解器和变步长求解器 Simulink算法分为定步长算法和变步长算法两类,相应 的求解器即为定步长求解器和变步长求解器。 定步长求解器:顾名思义,仿真步长是固定不变的,这 些算法依据相等的时间间隔来解算模型,时间间隔称为步长。 用户可以指定步长的大小,或者由算法自己选择步长。通常, 减小步长可以提高仿真结果的精度,但同时也增加了系统仿 真所需要的时间。
Simulink的仿真循环过程如图6-1所示。
第6章 Simulink动态系统仿真 初始化
否 时间<终止时间?
是 模型输出 (ModelOutputs)
代数循环求解器
模型更新 (ModelUpdate)
仿真结束
simulink动态系统建模仿真-第8章
第26页,共132页。
第8章 使用命令行仿真 8.1.2 设置仿真参数——simset命令
用户可以用不同的仿真选项进行仿真,这些选项就是在 Configuration Parameters对话框中各选项页内定义的参数。 如果要使用sim命令在MATLAB工作区中运行模型,则可以用 simset命令来指定仿真模型时的仿真选项。需要注意的是,模 型的名称不能作为simset的参数,换言之,即使在simset命令 中指定模型的名称,模型也不会受到影响。
脚本文件cruisescript如下: for P = 0:5:25
[t, x, y] = sim ('cruise_command'); subplot (3, 2, P/5+1) plot (t, y) ylabel (['P=', num2str(P)]) end
第25页,共132页。
第8章 使用命令行仿真
>> ut = [0 1; 10 1; 10 –1; 20 –1; 20 1; 30 1; 30 –1; 40 –1; 40 1; 50 1]; >> sim ('in_out', 50, [ ], ut); 用plot (ut (: ,1),ut (: , 2))命令绘制的输入信号曲线如图8-4所示;用plot (ut (: ,1),ut (: , 2),tout,yout,'--')命令绘制的输入和输出曲线如图8-5所示。
首先,在蹦极模型中添加一个Outport模块,如图8-6所示, 将模型文件保存为bungee_cmd;然后编写一个脚本文件用来 试验不同的k值,当距地面的距离为正时停止仿真。脚本文件 bungeescript如下:
第6章Simulink系统仿真原理
图6.2中h为积分步长。注意,此图以最简单的多边 形积分近似算法为例说明积分误差的计算,在实际中 具体的方法视连续求解器的不同而不同。如果积分误 差满足绝对误差或相对误差,则仿真继续进行;如果 不满足,则求解器尝试一个更小的步长,并重复这个 过程。当然,连续求解器在选择更小步长时采用的方 法也不尽相同。如果误差上限值的选择或连续求解器 的选择不适合待求解的连续系统,则仿真步长有可能 会变得非常小,使仿真速度变得非常慢。(用户需要注 意这一点。)
6.1 Simulink求解器概念
6.1.1 离散求解器 第3章中简单介绍了动态系统的模型及其描述,其
中指出,离散系统的动态行为一般可以由差分方程描 述。众所周知,离散系统的输入与输出仅在离散的时 刻上取值,系统状态每隔固定的时间才更新一次;而 Simulink对离散系统的仿真核心是对离散系统差分方程 的求解。
6.2 系统过零的概念与解决方案
6.1 节 中 对 Simulink 的 求 解 器 进 行 了 较 为 深 入 的 介 绍 。 Simulink求解器固然是系统仿真的核心,但Simulink对 动态系统求解仿真的控制流程也是非常关键的。 Simulink对系统仿真的控制是通过系统模型与求解器之 间建立对话的方式进行的:Simulink将系统模型、模块 参数与系统方程传递给Simulink的求解器,而求解器将 计算出的系统状态与仿真时间通过Simulink环境传递给 系统模型本身,通过这样的交互作用方式来完成动态系 统的仿真。
>> semilogy(tout(1:end–1,diff(tout)) % 绘制系统仿真时刻的一阶差分(即系统仿真步长),如
图6.7所示,其中常规步长为0.2 s, % 当发生过零的情况时,系统仿真步长自动缩小至约s
动态仿真集成环境Simulink
动态仿真集成环境Simulink简介Simulink是一种在MATLAB环境下的动态系统建模和仿真工具。
Simulink提供了一个图形化和交互式的环境,用于建立、模拟和分析多域系统。
Simulink不仅适用于控制系统仿真和设计,还可用于模拟信号处理、通信、动力系统等各种领域。
本文将介绍动态仿真集成环境Simulink的基本概念、用途、优势以及一些常见的应用场景。
基本概念Simulink是由数学模型组成的块图系统,这些块代表系统的各个组成部分,如传感器、执行器、控制算法等。
通过将这些块连接起来,可以模拟整个系统的行为。
Simulink提供了各种工具和功能,使用户能够轻松地建立、调试和优化系统模型。
用途Simulink可以在多个领域中使用,主要包括但不限于以下几个方面:1.控制系统设计:Simulink提供了丰富的控制系统设计工具,帮助工程师设计、模拟和优化各种控制系统。
2.信号处理:Simulink可以用于信号处理算法的设计和模拟,例如数字滤波器、时域分析等。
3.通信系统:Simulink提供了通信系统设计和分析的工具,帮助工程师设计各种数字通信系统。
4.动力系统:Simulink可以用于建立和模拟各种动力系统,如电动车辆、机械系统等。
优势Simulink相对于传统的编程方式具有许多优势,包括但不限于以下几点:1.图形化建模:Simulink提供了一个直观的图形化界面,用户可以通过拖拽和连接模块来建立系统模型,而无需编写繁杂的代码。
2.可视化仿真:Simulink可以实时模拟系统的动态行为,用户可以通过图形化界面查看系统的响应和结果。
3.快速原型开发:Simulink可以与MATLAB配合使用,实现快速原型开发和验证设计概念。
4.多领域仿真:Simulink支持多领域仿真,可以用于不同领域的系统建模和仿真。
应用场景Simulink在各种工程领域中都有广泛的应用,以下是一些常见的应用场景:1.汽车控制系统:Simulink可以用于汽车控制系统的设计和优化,如发动机控制、制动系统等。
动态系统仿真Simulink-精品文档
二、基本使用
• 1、Simulink的启动 • 1). 命令窗口中键入simulink • 2). file菜单中选择new命令的model • 3). 工具栏中,按按钮 • 4).模型窗口file菜单选择new命令的model
2019/2/25
2. 仿真一个简单的模型
• • • • • • • 仿真一个温度计放入水中,显示的变化。 1)仿真建立模型:惯性环节 1/(Ts+1) T=10s 2)搭建这个模型:使用simulink 3)开始仿真:a.开始/结束时间 b.仿真方法 4)看看显示/修改模型参数
2019/2/25
E 从文件读数
• 至少有两行,单调递增的时间,其 它行为对应数据。文本文件或mat文件。 对数据文件没有描述的时间,采用线性 插值的方法得到中间数据。使用这个模 块可以设定任意的输入曲线,对测试试 验数据十分有用。需要注意输入输入不 能过于稀少,免得导致仿真的精度降低 。
2019/2/25
2019/2/25
3.基本操作
• • • • 1)选择(多个)/复制模型 2)连线/移动 3)修改模型参数 4)模型名字修改 5)旋转模型 6)保存文件 7)打印
2019/2/25
三、模型介绍
只介绍一些经典模块 • 1、数据源部分: • A常数模块 B阶跃模块 • B信号发生器 • 只接受输入的数字,不接受变量 • D时钟 • 输出仿真中的当前时间,以秒为单位。在 记录数据序列中需要这个模块。
4、线性系统
• • • • 1)增益 输出为输入与增益的乘积。 2)加法 对输入作求和(差)操作,输入可以使两 个或者多个。操作使用+-+-系统给出。 • 3)传递函数 • 分子分母多项式形式。分母的阶次必须大 于分子的阶次,初始值条件为0。
动态系统仿真Simulink-精选
C stiff方法是专门用于刚性系统仿真
D Euler方法比较差,尽量避免使用
E Linsim方法适合于接近线性的系统,对 线性刚性系统有很大的优越性。
2019/11/12
2、步长控制
1)容许误差越大,仿真的精度越低。一般容 许误差应当在0.1到1e-6之间。
2019/11/12
四、数值仿真
1、仿真方法 1)定步长仿真:1,2,3,4,5
仿真步长的选择: a 稳定性:最小时间常数的一半 b 精度:更小一些
随机特性/非线性 2)变步长仿真:缺省
2019/11/12
A Runge-Kutta (包含rk23、rk45)适合于高 度非线性或不连续系统,不适合刚性系统 ;
2019/11/12
• 3) Fcn:函数 • 对输入进行符合c语言规范的数学表达式
处理。模块输入为u。它使用的函数比较 少。它可以进行如sin(u[1])之类的计算。 • 4)保存一步memory
2019/11/12
6、离散系统
1)零阶保持器。模拟A/D转换器。 2)一阶保持器。 3)离散积分器,实现离散的欧拉积分。 4)离散传递函数和离散状态空间模型(初值) 5)延迟:输入信号做单位延时并保持一个采
2019/11/12
2. 仿真一个简单的模型
• 仿真一个温度计放入水中,显示的变化。
• 1)仿真建立模型:惯性环节 1/(Ts+1)
•
T=10s
• 2)搭建这个模型:使用simulink
• 3)开始仿真:a.开始/结束时间
•
b.仿真方法
• 4)看看显示/修改模型参数
2019/11/12
推荐-7Simulink动态仿真 精品
7.1 Simulink 基本操作
7.1.3 系统仿真运行 1. Simulink模型窗口下仿真 步骤 ① 打开Simulink仿真模型窗口,或打开指定的.mdl文件; ② 设置仿真参数:在模型窗口选取菜单【Simulation: Parameters】, 弹出 “Simulation Parameters” 对话框,设置仿真参数,然后按 【OK】即可;
按快捷键Ctrl+R结果相同。
7.1.2 建立Simulink仿真模型
e) 模块参数设置
用鼠标双击指定模块图标,打开模块对话框,根据对话框栏 目中提供的信息进行参数设置或修改。
➢ 例如双击模型窗口的传递函数模块,弹出图示对话框, 在对话框中分别输入分子、分母多项式的系数,点击OK 键,完成该模型的设置,如右下图所示:
在模块库中选中模块后,按 住鼠标左键不放并移动鼠标 至目标模型窗口指定位置, 释放鼠标即完成模块拷贝。
模块的删除只需选定删除的 模块,按Del键即可。
7.1 Simulink 基本操作
7.1.2 建立Simulink仿真模型 d) 模块调整 改变模块位置、大小; 改变模块方向 ➢ 使模块输入输出端口的方向改变。选中模块后,选取菜 单Format→RotateBlock,可使模块旋转900。
① 用鼠标右键点击Simulink菜单项,则弹出一菜单条,点击该菜单 条即弹出该子库的标准模块窗口.如单击左图中的【Sinks】,出现 “Open the ‘Sinks’Library”菜单条,单击该菜单条,则弹出右图所 示的该子库的标准模块窗口。
7.1 Simulink 基本操作
7.1.1 启动Simulink b) 打开空白模型窗口
➢ 常用的子模块库有Sources (信号源),Sink(显示输出), Continuous( 线 性 连 续 系 统 ) , Discrete(线性离散系统), Function & Table(函数与 表 格 ) , Math( 数 学 运 算 ) , Discontinuities (非线性),D emo(演示)等。
动态系统仿真Simulink
From workspace参数设置
整理课件
32
从文件获取数据(From file) 参数设置
t=0:0.1:2*pi; y=cos(t); y1=[t; y]; save Ex0702 y1
Discrete Transfer Fcn
离散传递函数模型
Discrete Zero-Pole
离散零-极点增益模型
Discrete State-Space
离散状态方程模型
Discrete Filter
离散滤波器
Zero-Order Hold
零阶保持器
First-Order Hold
一阶保持器
Unit Delay
Enabled and Triggered Subsystem(激活触发子系统) 具有激活和触发两种功能,分别在指定的条件下被执行
整理课件
40
建立子系统
通过压缩已有的模块建立子系统 (1)在模型窗口用鼠标拖一个虚框,将需要建立子系统的部
分框起来,在菜单中选择Edit/Create subsystem命令 (2)更改子系统名 (3)重命名输入输出端口 例6-1: eg61.mdl
当创建好的框图保存后,相应的.mdl文件就自 动生成,这个.mdl文件包含了该框图的所有图 形及数学关系信息。
框图表示比较直观,容易构造,运行速度较快。
整理课件
5
simulink简介
simulink 的模型:
simulink模型在视觉上表现为方框图,在文件上则 是扩展名为mdl的ASCII代码;在数学上体现为一 组微分方程或差分方程;在行为上模拟了物理器 件构成的实际系统的动态特性。
sinulink动态仿真
Simulink 动态仿真一.Simulink 简介Simulink是一个对动态系统进行建模、仿真和分析的软件包它支持连续、离散及两者混合的线性和非线性系统也支持具有多种采样速率的多速率系统。
Simulink为用户提供了用方框图进行建模的图形接口采用这种结构画模型就像采用笔和纸画图一样容易。
直观、方便、灵活。
Simulink包含有Sinks输出方式、Source 输入源、Linear线性环节、Nolinear 非线性环节、Connections连接与接口和Extra其它环节等子模型库而且每个子模型库包含有相应的功能模块。
用户也可以自己定制和创建自己的功能模块。
Simulink创建的模型可以具有递阶结构因此用户可以采用从上到下或者从下到上的结构创建模型。
用户可以从最高级开始观看模型然后用鼠标双击其中的子系统模块来查看下一级的内容。
??在定义完一个模型以后用户可以通过Simulink的菜单或MATLAB的命令窗口键入命令来进行仿真。
采用Scope模块和其它的画图模块在仿真进行的同时就可以进行看到仿真结果。
??Simulink是由模块库、模型构造及指令分析、演示程序等几部分组成。
二.Simulink安装和启动安装随Matlab一起安装在安装过程中在Simulink选项前打勾。
启动按钮或输入Simulink命令Simulink工作环境由库浏览器和模型窗口组成库浏览器提供了展示Simulink标准模块库和专业工具箱的界面模型窗口是用户创建模型方框图的地方。
库浏览器模型窗口??Simulink的演示程序Simulink自带很多演示程序几乎涉及到仿真的方方面面仔细研究Simulink自带的演示程序是学习Simulink的很好的方法。
三.Simulink的组成1.应用工具箱Simulink软件包的一个重要特点是它完个建立在Matlab的基础上因此Matlab的很多工具箱也可以应用到Simulink中来这就大大扩展了Simulink的建模和分析能力。
第4章动态仿真集成环境-Simulink
图6-11 Logic and Bit Operations标准模块库
其功能如图6-5和表6-3所示。
图6-5 Continuous标准模块库
模块名 Integrator
表6-3 Continuous标准模块及其功能
功能
模块名
功能
积分器
Zero-Pole
零极点函数
Derivative State-Space Transfer Fcn
微分器
状态空间表达 式 传递函数
Transport Time 传输延迟模块 Delay
模块名
功能
C 模块名
功能
Divide
除法
Matrix
矩阵串联模块
Concatenation
Product of 元素乘运算 Elements
Vector
向量串联模块
Concatenaห้องสมุดไป่ตู้ion
Dot Product 点乘运算
Permute
序列维数
Dimensions
Sign
符号运算
Complex to 将复数信号分解成
Discrete Zero-Pole
离散零极点函数
Transfer Fcn First Order Transfer Fcn Real Zero Transfer Fcn Lead or Lag
Weighted Moving Average Memory
First-Order Hold
功能
离散状态空间 表达式 一阶传递函数
Dead Zone
Rate Limiter
Saturation Dynamic
动态系统建模仿真工具Simulink
五、PID控制模块的实现 2. 选中控制算法各模块后,建立子系统并对其进行封装,设定相应的三个参数及模型描述。
五、PID控制模块的实现 3. PID控制模块的实际使用。
双击该模块,直接设置三个参数值既可实现 PID控制算法。
五、PID控制模块的实现 4. 为了便于在其他仿真模型中应用该模块,可以把我们建立的PID控制模块填加到系统模型库中。
以后使用时就可直接调用。
打开Matlab6p1\Toolbox\Simulink\Blocks\simulink3.mdl 进入其中的连续模块中,把PID 控制模块复制到该模块中。
注意:复制前先去掉模块的锁定状态。
3动态系统的Simulink
3 动态系统的Simulink
(3) Sources模块库中的Clock模块:用来表示系统运 行时间。
(4) Nonlinear模块库中的Switch模块:用来实现系统 的输出选择。
(5) Math模块库中的Gain模块:用来实现系统中的信 号增益。
图3.1所示为此简单系统的系统模型。
3 动态系统的Simulink 图3.1 简单系统模型
3.1.1 建立系统模型 首先根据系统的数学描述选择合适的Simulink系统
模块,然后按照第2章中的方法建立此简单系统的系统 模型。这里所使用的系统模块主要有:
(1) Sources模块库中的Sine Wave模块:用来作为系 统的输入信号。
(2) Commonly used模块库中的Relational Operator模 块:用来实现系统中的时间逻辑关系。
3 动态系统的Simulink
保存视图设 置,然后改变
视图
恢复原来 的视图
图3.13 保存与恢复视图设置
3 动态系统的Simulink
5) Scope的参数设置 使用Scope模块的参数设置选项卡能够对系统仿真输 出结果显示进行更多的控制,而不仅仅是上述的简单 控制。图3.14、图3.15所示分别为Scope模块参数设置 选项卡中的General选项卡与Data History选项卡。
3 动态系统的Simulink
第3章 动态系统的Simulink
3.1 简单系统的仿真分析 3.2 Scope高级使用技术 3.3 离散系统的仿真分析 3.4 连续系统的仿真分析 3.5 线性系统仿真分析 3.6 混合系统设计分析 3.7 Simulink的调试技术
3 动态系统的Simulink
3.1 简单系统的仿真分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2. 仿真一个简单的模型
• 仿真一个温度计放入水中,显示的变化。
• 1)仿真建立模型:惯性环节 1/(Ts+1)
•
T=10s
• 2)搭建这个模型:使用simulink
• 3)开始仿真:a.开始/结束时间
•
b.仿真方法
• 4)看看显示/修改模型参数
2019/10/25
3.基本操作
2019/10/25
F 从工作空间读数
• 这个模块从工作空间中读取数据,数据 源至少有两列,第一列为单调递增的时 间,其它列为对应的数据。这个模块的 其它特性和from file一样。它常用于在 MATLAB工作空间处理完数据后,读入 SIMULINK中。
2019/10/25
2、连接
•a)聚合 •一般用在显示、保存或者状态空间系统的 输入中。
2019/10/25
8.子系统的建立
• 1)为什么建立子系统 • a 减少模块数 b 有利于调试 • c 对大系统/复杂系统有利 • 2)建立方法 • a Subsystem b Group命令 • 3)输入输出 • a in / out b 更名
2019/10/25
9、注意
• 1)大部分模块可连接向量、可改方向 • 2)连续系统和离散系统可以共同使用 • 3)少用matlab FCN • 4)模块可以使用mask产生:iconedit • 5)初始化数据:
B Adams方法:非线性小、时间常数变化小
C stiff方法是专门用于刚性系统仿真
D Euler方法比较差,尽量避免使用
E Linsim方法适合于接近线性的系统,对 线性刚性系统有很大的优越性。
2019/10/25
ห้องสมุดไป่ตู้、步长控制
1)容许误差越大,仿真的精度越低。一般容 许误差应当在0.1到1e-6之间。
2)最大步长足够小,则仿真的精确度比较好 ,最大步长比较大,可能出现不稳定。
3)仿真的最小步长,是仿真开始的步长。设 置的过小,如系统不连续,在不连续处容 易产生过多的点,会超出可用内存和资源; 如果最小步长过大,导致结果不精确。
2019/10/25
五、高级分析
1、模型线性化
• 函数linmod、dlinmod进行模型的线性化。 [a,b,c,d]=linmod(‘sfun’,x,u) 注意:
2019/10/25
四、数值仿真
1、仿真方法 1)定步长仿真:1,2,3,4,5
仿真步长的选择: a 稳定性:最小时间常数的一半 b 精度:更小一些
随机特性/非线性 2)变步长仿真:缺省
2019/10/25
A Runge-Kutta (包含rk23、rk45)适合于高 度非线性或不连续系统,不适合刚性系统 ;
• 4)MATLAB还提供了一个linmod2函数,它 比linmod要精确一些,但运行时间更长。
• 一旦得到了系统状态空间形式描述的模型, 就可以进一步的进行系统分析,如画Bode图 ,做阶跃响应,判断稳定性,还可以进行控 制系统设计。
2019/10/25
2、平衡点确定
• 使用trim函数可以确定平衡点。它的调用格 式为:
Matlab及其应用 讲座之五
动态系统仿真——Simulink
主讲人:鲍文
2019/10/25
>
退出
目录
发展历史 基本使用 模型介绍 数值仿真 高级分析 例题
2019/10/25
<>
主菜单
退出
一、发展历史
• 1、动态系统仿真 CSCAD(E) 80年代前:自己编程序,C/FORTRAN 90年代后:集成仿真环境 VisSim SimuLink
•b)分离 •一般用在处理从文件、工作空间读入数据 或者状态控制系统的输出分解。
•c)子系统
2019/10/25
3、显示部分
• 1) 示波器 • 示波器中可以同时显示多个曲线 • 2)输出到文件 • 3)输出到工作空间 • 4)数字显示 • 5)XY图
2019/10/25
6)、高级显示
• A)Extras中的增强显示
2019/10/25
其它方面
1、自主模块:可使用s-func, c/fortran 2、与其他toolbox联合使用 3、报警的处理:warning 4、simulink动画
2019/10/25
安装一个网络上来的工具箱
1、寻找工具箱 2、下载 3、安装:解包、复制、增加路径 4、测试 5、做一些修改 例子:ansim
2019/10/25
• 3) Fcn:函数 • 对输入进行符合c语言规范的数学表达式
处理。模块输入为u。它使用的函数比较 少。它可以进行如sin(u[1])之类的计算。 • 4)保存一步memory
2019/10/25
6、离散系统
1)零阶保持器。模拟A/D转换器。 2)一阶保持器。 3)离散积分器,实现离散的欧拉积分。 4)离散传递函数和离散状态空间模型(初值) 5)延迟:输入信号做单位延时并保持一个采
• 1)选择(多个)/复制模型 2)连线/移动
• 3)修改模型参数
4)模型名字修改
• 5)旋转模型
6)保存文件
• 7)打印
2019/10/25
三、模型介绍
只介绍一些经典模块 • 1、数据源部分: • A常数模块 B阶跃模块 • B信号发生器 • 只接受输入的数字,不接受变量 • D时钟 • 输出仿真中的当前时间,以秒为单位。在
2019/10/25
实时仿真
一、前言 实时仿真的意义:控制硬件、半实物仿真 实时仿真必然能够超实时仿真。 实时工具箱的要求: 1)C编译器 2)Simulink 功能: 1)实时程序(DOS)、C程序
2)windows下的加速仿真
2019/10/25
二
编 译 过 程
2019/10/25
2019/10/25
记录数据序列中需要这个模块。
2019/10/25
E 从文件读数
• 至少有两行,单调递增的时间,其 它行为对应数据。文本文件或mat文件。 对数据文件没有描述的时间,采用线性 插值的方法得到中间数据。使用这个模 块可以设定任意的输入曲线,对测试试 验数据十分有用。需要注意输入输入不 能过于稀少,免得导致仿真的精度降低 。
2、SimuLink发展 1990年出现,叫SimuLab 1992年改名为SimuLink1.0 +3.5
2019/210/02519年SimuLink 3.0 +5.3 OO
二、基本使用
• 1、Simulink的启动 • 1). 命令窗口中键入simulink • 2). file菜单中选择new命令的model • 3). 工具栏中,按按钮 • 4).模型窗口file菜单选择new命令的model
• 1)SIMULINK模型的输入输出必须使用 Connectios库中的Inport和Output模块来定义 ,Signal Generator 和Scope不可以作为系统 的输入输出。
• 2)函数的sfun参数必不可少,它是 SIMULINK模型的名字;
2019/10/25
• 3)可使用x,u来设定系统的状态和输入工作 点,缺省值全为零。
样周期。没有延迟采保,使用零阶保持器, 大于一个单位的延迟功能,采用Discrete Transfer FCN模块。
2019/10/25
7、扩展的模块
1)NCD模块:非线性控制系统设计。例子 2)模糊 3)神经元网络 4)电力系统 5)其它:系统辨识、通讯
例子:计算峰峰值 y=sqrt(x).*sin(x).^2
• [x,u,y,dx]=trim(‘sfun’,x0,u0,y0) • 其中sfun为模型文件名,x0为初始猜测假设
,u0、y0为输入和输出值。 • MATLAB通过寻优的方式寻找最佳平衡点
,多次使用不同的初值寻找平衡点是有必 要的。
2019/10/25
3、命令行仿真
[T,X,Y1,...,Yn] = sim('model',TIMESPAN,OPTIONS,UT)
•
谱分析/相关分析
• B)DSP模块
• 作FFT显示
2019/10/25
4、线性系统
• 1)增益 • 输出为输入与增益的乘积。 • 2)加法 • 对输入作求和(差)操作,输入可以使两
个或者多个。操作使用+-+-系统给出。 • 3)传递函数 • 分子分母多项式形式。分母的阶次必须大
于分子的阶次,初始值条件为0。
其中: TimeSpan: [TStart OutputTimes TFinal]
2019/10/25
注意问题
1、内存、cpu
2、递阶结构:子结构 少用汉字
3、代数环:仿真速度减慢.
条件:前馈中有:
a Gain
b 大部分非线性
c 传函的分子分母同阶 d 状态空间,d=0
解决:a插入memory b 加入高频传递
2019/10/25
• 4)积分 • 可以设定初始条件。 • 5)状态空间 • a、b、c、d形式,可以给出初值。 • 6)扩展 • a、PID b、可设定初值的传函
2019/10/25
5、非线性系统
• 1)常见非线性
死 区 、 限 幅 、 滞 环 、 滞 后 。
• 2)MATLAB函数或表达式。它由一个表量 或者向量输入,下面的表达式是有效的: sin、u(1)/u(2)。