一个模型是一个抽象和简化的描述一个系统使用数学公式和图表。这个主题提供上下文的建模概念理解的过程数学描述与仿真软件系统万博1manbetx®软件工具。
一个框图是一个可视化表示的模型在模型编辑器中。万博1manbetx编辑器允许您添加块从块选择代表基本模型组件库。基本组件包括积分器、增益和总和。块相互连接的信号和事件行视觉构造模型方程。
一个经典的系统框图绘制图形和线条与块。这些块图的历史源于工程反馈控制理论和信号处理等领域。一块在一个框图本身定义了一个模型。之间的关系基本模型是由信号线路连接块。集体中的块和线框图描述系统的总体模型。
万博1manbetx模型扩展了经典方框图:
添加一组方程(块方法),每一块定义了基于时间的输入信号之间的关系,输出信号和状态变量。
将参数添加到每个块指定模型的系数方程。
提供一个发动机的数值解框图通过评估的关系随着时间的推移,在时间是从一个指定的“开始时间”,结束在一个指定的“停止。”
一个块是一个基本的建模仿真软件编辑器的构造。万博1manbetx添加块与内置模型库来执行特定的操作。万博1manbetx你也可以创建自定义的块。有些块输入信号、输出信号和状态。大多数块参数用来指定块的行为。一块是否有参数,这些参数的本质是特定于每个块。
每个块代表一组方程模型引擎。万博1manbetx方程表示成块的方法。上面所示的模块有以下方法。
块方法是评估在仿真框图。物体的评价方法在仿真执行循环,每个循环仿真循环代表框图的评估在一个给定的时间点。
虚拟块组织和提供图形化层次结构模型中,但是他们不影响仿真结果。在模型模拟仿真软件,扩展了块地方在执行之前,这一过万博1manbetx程称为压扁。这一扩张类似宏的工作方式在编程语言如C或c++。
万博1manbetx模型定义了以下虚拟块:
虚拟子系统——使用虚拟子系统相关的封装和功能部件在一个更大的模型。一个虚拟子系统块的复选框的参数治疗作为原子单元清除。
轮廓尺寸和外港-使用端口块移动数据(信号)和事件(函数调用)从外部子系统块或引用的模型块内,反之亦然。
总线的创造者,总线分配,总线选择器——总线模块信号合并成一个虚拟总线和管理路由的信号在一个复杂的框图。虚拟公共汽车是一个图形方便和不改变模型的行为。
Nonvirtual块提供执行控制和图形层次结构模型。万博1manbetx模型定义了以下nonvirtual子系统和模型块:
在一个原子子系统和模型——块原子子系统块或模型块,引用一个模型作为一个单元执行在每个时间步(原子执行)。对于一个原子子系统块,复选框的参数治疗作为原子单元被选中。
您可以将任何仿真软件在一块万博1manbetx原子子系统或引用的模型,包括街区不同的执行利率。这种灵活性提供了一个模型的分组功能方面的优势在执行水平。
在下面的例子中,是一个汽车模型原子子系统块包含块的力学模型车。控制模型的引用模型块。
和/或触发-启用原子子系统或模型块的执行是由外部的数据信号。包含一个启用或触发块,或两者兼而有之。为触发块,参数触发类型被设置为不断上升的
,下降
,或要么
。
函数调用,原子子系统或模型块的执行是由一个事件从一个函数调用引发剂(如Stateflow®图表或一个函数调用生成器,功能,或打穿越块)。包含一个触发块与触发类型设置为函数调用
。
万博1manbetx只有在模型定义了以下nonvirtual组件子系统块。
行动子系统-原子子系统块的执行是由一个事件从一个行动引发剂(例如,如果或开关情况块)。包含一个行动的港口块内子系统块。
而迭代器子系统,原子子系统块运行多个迭代模型在每个时间步。包含一个而迭代器块控制通过评估的迭代次数的一个逻辑条件。
一段类似于函数调用迭代器子系统子系统,它可以运行在给定的时间为任意数量的迭代步骤。而迭代器子系统与函数调用子系统的不同之处在于,没有单独的引发剂。
迭代器子系统-原子子系统块固定数量的迭代运行在每个时间步模型。包含一个对迭代器块控制迭代的数量。
一个块面具是一个自定义块参数界面只显示所选块参数。一块面具一个子系统允许您提供一个接口设置参数对街区内子系统块,而无需导航模型的层次结构。
看到屏蔽原理。
自定义模块新块扩展仿真软件的内置功能。万博1manbetx您可以创建在您的模型库的自定义模块使用。
以下模块定义一个自定义的块或图形的算法框图或编程方式:
MATLAB®函数,代码使用MATLAB语言MATLAB函数运行仿真软件模型。万博1manbetx看到使用块实现MATLAB函数。
MATLAB系统,将现有的系统
基于对象matlab.System
仿真软件。万博1manbetx看到MATLAB系统块。
子系统——画出框图代表一种算法,用这个图仿真软件的一个实例万博1manbetx子系统块,然后用一个参数提供块对话框使用仿真软件块面具。万博1manbetx看到原子子系统,子系统,CodeReuse子系统。
C调用者——外部C代码集成到一个仿真软件模型。万博1manbetx看到使用C集成C代码块。
功能——以编程方式创建一个自定义块通过创建一个MATLAB文件或墨西哥人文件,其中包含块的系统功能。生成的文件称为一个功能。然后把s函数模型的实例万博1manbetx功能阻止在您的模型中。看到功能。
一个行是一个基本的建模仿真软件编辑器的构造。万博1manbetx线连接的输出端口阻塞与其他的输入端口。
信号线路传输数据在模拟从一个街区到另一个块。信号是时变的数量值在所有时间点(连续)或在指定的时间点(离散)。源信号的对应块写入块输出的信号,在评估方法。信号的目的地是块读取信号在其块输入方法的评价。
您可以指定信号属性,包括信号名称、数据类型(例如,双,32位整数),数值类型(例如,真实的,复杂)和尺寸(例如,一维,二维,多维数组)。许多块可以接受或输出任何数据类型的信号或维度。其他模块的属性限制他们可以处理的信号。
在仿真中,保存的数据信号通过记录信号。
在响应函数调用或行动的发起者,事件行发送一个事件子系统或模型块。块接收到事件执行块内一次或多次在一个时间步。函数调用发起者包括Stateflow图表,函数调用生成器块,功能块,打穿越块。行动发起者包括如果和开关情况块。
数据包括仿真软件使用的参数和输入信号值来产生输出值产生的模拟模型的行为。万博1manbetx
类型的数据:
模型参数,模型中变量指定块和信号参数。包括MATLAB变量、参数和信号数据对象、数据类型对象,和总线对象。
模型配置参数,参数,确定您的模型运行通过指定的设置,控制模型的行为。
仿真数据,输入数据驱动模拟和仿真生成的输出数据。
数据对象,数据类的实例,允许您指定信号的特点,国家,和块参数。使用万博1manbetxSimulink.Signal
和万博1manbetxSimulink.Parameter
类来创建数据对象。看到数据对象。
位置的数据:
块的参数——直接使用块参数指定的数值。您还可以输入变量名和工作区在仿真软件中定义它的价值模型,模型数据字典或MATLAB基础工作空间。万博1manbetx
MATLAB基础工作空间——使用MATLAB基础空间保存变量分离的模型在MAT-file或MATLAB脚本。
万博1manbetx仿真软件对基本工作空间和数据字典作为一个单一的全局名称空间。如果基本工作空间和引用数据字典有相同的变量名,仿真软件使用数据字典中的变量值。万博1manbetx
MATLAB基础工作区包含变量,是全球性的,可见所有仿真软件模型。万博1manbetx
万博1manbetx仿真软件模型的工作区——使用模型空间定义和存储本地数据变量。变量在模型中定义的工作区是可见的只有范围内的模型与一个唯一的名称空间。因此,您可以使用相同的变量名在多个模型工作区和您可以分配一个唯一变量值在每个模型的名字。
在数据字典中定义变量模型浏览器使用。在建模选项卡上,单击模型浏览器。在左侧窗格中,选择模型的工作区。
值模型工作空间变量初始化的值保存模型,从一个单独的MAT-file或MATLAB文件,或使用MATLAB代码保存模型。
万博1manbetx模型数据字典——使用一个数据字典定义和存储全局数据,模型之间共享数据,跟踪数据所做的更改。数据保存在一个文件中分离的模式。
创建一个数据字典文件。在建模选项卡,在设计,点击数据字典。点击新并输入一个文件名与扩展.sldd
。
在数据字典中定义变量模型浏览器使用。在建模选项卡上,单击模型浏览器。在左侧窗格中,选择设计数据。
看到什么是数据字典?。
导入和导出的数据——输入信号从MATLAB仿真基地工作区,MAT-file或电子表格。使用消息块或创建输入信号信号编辑器块。使用信号日志输出仿真结果。信号被保存为矢量(t, X, Y)
时间、状态和输出主要在每个时间步。
参数是影响仿万博1manbetx真的仿真软件模型特点和代码生成的结果。
模型配置参数指定模型行为在编译、模拟和代码生成,如解算器使用和错误和警告显示的类型。
指定模型配置参数,建模选项卡上,单击模型设置。配置参数对话框打开。
看到设置模型配置参数的模型。
块的参数定义模型动力学和数学。一块是否有参数,您可以设置这些参数的本质是特定于每个块。指定块参数,打开块参数对话框,或建模选项卡,在设计,请点击下列之一:
属性检查器——指定块参数直接或输入一个变量名称参数值。
模型数据编辑器——指定块参数变量。
模型浏览器——指定块参数变量。
看到组块的参数值。
如果你有一个参数使用在很多地方在一个大型模型,更新每个实例的参数可以是一个艰巨的任务。相反,输入一个变量名称作为一个参数的值,然后定义变量一旦使用下列方法之一:
万博1manbetx仿真软件模型工作区-创建模型工作空间变量并赋值给变量。你的参数定义特定于模型和保存模型。使用MATLAB变量易于维护。使用一个万博1manbetxSimulink.Parameter
对象来控制附加属性包括数据类型,尺寸,和单位。看到编辑和管理工作空间变量模型浏览器使用。
万博1manbetx模型数据字典——创建设计数据变量在数据词典和字典链接到一个模型。在模型模拟,仿真软件从数据字典中检索数据。万博1manbetx
MATLAB基础工作空间——MATLAB基础工作空间,定义参数使用任何MATLAB机制来定义一个变量。例如,您可以使用一个MAT-file和加载当你打开模型的变量。使用MATLAB表达式来指定参数变量值。万博1manbetx之前运行模拟仿真软件评估表达式。看到保存和加载工作空间变量。
使用MATLAB基础工作区或仿真软件数据字典定义变量是有用的,当你使用同一万博1manbetx组参数超过一个模型。这个机制还允许您使用不同的参数值相同的模型。
当你引用相同的模型从多个模型块,您创建的实例的模型。你可以设置块参数使用相同的值或一个不同的值为每个模型的实例。
使用不同的值,
为参考模型,在模型中工作区创建一个MATLAB变量或万博1manbetxSimulink.Parameter
对象。
输入参数名和一个默认参数价值。选择论点创建一个复选框模型参数。
一块在参考模型中,模型的输入名称参数为一块参数的值。
对于每个模型块,打开块参数对话框中,选择实例参数选项卡,并输入一个值的实例参数与模型参数的名字。
参见:一个可重用的引用模型的参数化实例。
你能改变一块可调参数的值在一个模拟世界中。这允许您确定一个参数交互最合适的值。当你改变了一个可调参数的值,更改生效的下一个时间步。例如,获得的参数获得块是可调的。你可以改变块模拟运行时获得。看到调整和试验块参数值。
指定参数,在建模选项卡,在设计,点击属性检查器。单击一个块显示块参数和属性。
参见:指定块的属性。
属性仿真软件万博1manbetx模型特征,通常不影响仿真结果。指定属性的建模选项卡,在设计,点击属性检查器。
与属性检查器打开,点击一个空白的空间在一个框图,或建模选项卡上,选择模型设置>模型属性。模型属性包括:
一般——模型文件的名称和位置。
设计数据定义的变量在模型参数化模型及其模块和信号。
回调——命令,当一个特定的模型事件发生时执行。
在属性检查器打开时,选择一个街区,然后选择属性选项卡。块的属性包括:
块注释,选择块的参数值显示下面的块。
回调函数,当一块特定事件发生时执行的命令。例如,您可以设置一个MATLAB脚本加载和使用表达式定义块参数变量。
优先级——组块的相对执行顺序。一个较低的值执行前一块更大的优先级值。
通过编程可搜索的标签——块标识符。
在属性检查器打开时,选择一个端口,然后选择属性选项卡。您可以修改端口的属性对象、信号和端口块属性检查器。港口在一个子系统块也有一个港口块选项卡,其中包含相关端口的属性块。
这些子系统模块的端口块属性显示:
这些块显示选项卡上的端口名称相同的端口块的类型和属性列表Model Explorer窗口所示。例如,一个EnablePort块选项卡显示了一个港口启用块,数据,消息,或事件选项卡显示端口Stateflow块。
只读的端口属性块没有可编辑的。例如,端口属性库相关的锁块,蒙面块,和保护引用模型是只读的。
港口块上的属性模型块只有在模型加载显示。
在设置属性模拟选项卡,在准备,点击属性检查器。点击一个空的空间来显示模型属性。单击一个块显示块属性。
参见:指定块的属性,回调函数自定义模型的行为。
的状态模型的定义为它的价值状态变量。状态变量是设置变量的值在时间为零,模型输入的值和模型方程,可以确定在一个模拟的行为模型。状态变量的例子包括电机的位置和速度,电感电流、电容电压、溶液温度和气体压力。
如果当前块的输出值是一个函数的输出值,块之间定义了一个状态变量,需要保存的时间步骤。计算块输出因此需要保存状态变量的值在当前时间步用于随后的时间步长计算的输出。
提供以下设施确定,初始化,在模拟和测井模型状态:
的数据导入/导出面板模型的配置参数对话框(见状态信息)允许您指定模型的初始值,并记录状态的值在每个时间步在MATLAB仿真为数组或结构变量的工作区。
打开配置参数对话框。选择州检查日志块MATLAB变量xout
。
在MATLAB命令窗口,列表的记录值的积分器在每个时间步块。
> > xout {1} . values。数据ans = 0.0000 1.8127 3.2968 4.5119 . . .
的模型
命令显示模型定义的状态信息,包括状态的总数和块定义了每个州的初始值。
块模型中的列表vehicle_model
与状态。在MATLAB命令窗口中,输入模型函数,然后用状态块列表。
(sys, x0, str, ts) = vehicle_model([]、[][],“大小”)str = {vehicle_model /集成商的}
仿真软件万博1manbetx调试器显示一个国家的价值在每个时间步在仿真中,仿真软件调试器州
命令显示模型的当前状态的信息万博1manbetx仿真软件调试器)。
在MATLAB命令窗口,开始仿真软件调试器,然后输入命令万博1manbetx州
。
sldebug“vehicle_model”(sldebug @0): > >状态连续状态为“vehicle_model”: Idx值(系统:布洛克:元素名称BlockName) 0。0 (0:0:0 CSTATE vehicle_model /集成商)
(块参数对话框ContinuousStateAttributes
参数)允许您为那些块给国家名称(如积分器)采用连续状态。这可以简化分析数据记录状态,尤其是当有多个块。
一个持续的状态被定义为所有值的时间。连续状态的一个例子将是一辆汽车的速度显示在模拟速度计的针位置变化不断旋转的轮胎。
块连续状态和块参数初始条件包括:
一般来说,除简单的模型,分析方法不存在整合国家由常微分方程表示。整合美国需要使用数值方法。
一个离散状态只在特定时间定义。这是一个近似的连续状态的状态更新周期或非周期的时间间隔。离散状态的一个例子将是一辆汽车的速度显示在数字速度表,每一秒,而不是不断更新。
块与离散状态包括:
计算块的离散状态需要知道其价值还在前面的时间步长和当前输入值。万博1manbetx离散动力学模型提供了两种类型:
固定步离散求解,确定一个固定的步长,所有的样品时间模型的离散状态,无论美国实际上在样本时间变化值。
变步离散解算器——变化步长,以确保样本时间点击只出现的时候状态改变时的值。
一个混合模型连续和离散状态。解决这样一个模型需要选择一个步长,满足精度限制连续状态集成和样本时间区间约束的离散状态。万博1manbetx仿真软件满足这个需求通过离散解算器的下一个采样的时间间隔连续解算器作为额外的约束。连续解算器选择步长,提出了模拟但不超出了接下来的时间离散样本。连续解算器可以时间步长下样品的时间短了,以满足其精度约束但不能超越一步下样品时间即使其精度约束允许。
你可以模拟混合系统使用任何集成方法,但某些方法比其他的更有效。对于大多数混合动力系统,ode23
和数值
优于其他解决的效率。因为与样品相关的不连续性和离散的块,不使用ode15s
和ode113
混合动力系统的动力学。
样品时间是指定的时间间隔率(1 /样品时间)为执行块方法产生输出和更新块的内部状态。时间是一个固有的组件的框图,框图随时间变化的模拟结果。
样品时间被指定为:
连续-块运行变量乘以基于解算器设置。
离散——显式指定块在特定时间运行。
在下面的例子中,以离散的速度控制器运行指定的样品时间0.01
秒虽然模型决定了车辆模型连续万博1manbetx采样时间。
确定一个系统的行为随着时间的推移,因此需要不断解决模型间隔,叫做时间步长或时间间隔,从一开始的时间跨度的时间跨度。在连续时间步骤解决模型的过程被称为模拟系统模型表示。
另请参阅样品时间是什么?,类型的样品时间,指定样品时间,查看样品的时间信息。
每一个模型块万博1manbetx都有样本时间定义块何时执行。大多数模块允许您指定样品时间通过SampleTime
参数。常见的选择包括离散、连续和继承的样本。
常见的样品时间类型 | 样品时间 | 例子 |
---|---|---|
离散 | (T年代To ] |
单位延迟,数字滤波器 |
连续 | (0,0) | 积分器,导 |
继承了 | (1,0) | 增益,和 |
离散块的样品时间是一个向量(Ts))在Ts连续采样之间的时间间隔或周期时间和初始抵消样品时间。相比之下,非离散块由下令对样本时间使用零,一个负整数,或者无穷代表一个特定类型的样本。例如,连续块有一个名义上的样本的时间(0,0)和用于模型系统的连续状态改变时(例如,一个汽车加速),而你表明样品时间类型的一种遗传块象征性(1,0),然后模型决定了实际价值基于继承的上下文内块模型。万博1manbetx
请注意,并不是所有的块接受所有类型的示例。例如,一个离散块无法接受连续采样时间。
视觉教具,仿真软件允许可选的彩色编码万博1manbetx和注释的框图来表示的类型和速度块样品时间。你可以捕获所有的颜色和在一个传奇(见注释查看样品的时间信息)。
更详细讨论样品的时候,看到的样品时间。
单位是用来衡量一个量的总量。
万博1manbetx模型被指定为一个单位轮廓尺寸块或外港块边界的参数仿真软件模型组件。万博1manbetx万博1manbetx仿真软件模型组件包括子系统块,模型块,Stateflow图表和仿真软件Simscape™转换器万博1manbetx模块。显示单元在一个模型,调试选项卡上,选择信息覆盖>单位。
直接引线就是一块的输出端口信号值的计算其输入端口的信号。输出信号值是一个函数的输入信号值。
块直接引线包括获得,产品,总和,数学函数块。
一个信号与直接引线被称为块之间的循环代数循环。一个代数循环通常发生在一个块的输入端口和输出端口直接引线直接驱动的同一块或间接通过其他块直接引线。
在接下来的模型,这两个概念获得块直接引线创建一个代数循环:
参见:代数循环概念。
一个人工代数循环发生在一个原子子系统或模型块导致模型检测一个代数循环,即使子系统不包含的内容直接从输入到输出引线。万博1manbetx当您创建一个原子子系统,所有尺寸块直接引线,导致一个代数循环。
开始与包括模型代表一个简单的比例控制的描述
可以重写以整数形式
系统既没有代数变量也没有直接引线和不包含一个代数循环。
修改以下步骤描述的模型:
附上一个子系统的控制器和植物块。
在子系统对话框中,选择治疗作为原子单元子系统的原子。
在诊断面板模型的配置参数,设置代数循环参数错误
。
当模拟这个模型中,一个代数循环是因为子系统直接引线,尽管原子子系统内的路径不是直接引线。模拟与一个代数循环停止错误。
万博1manbetx仿真软件使用一种技术,即讨论二阶导数过零检测精确定位一个不连续不必诉诸过分小时间步长在一个模拟世界中。通常这种技术提高了模拟运行时间。