MATLABSIMULINK积分器相关操作.docx
- 文档编号:23160468
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:15
- 大小:28.54KB
MATLABSIMULINK积分器相关操作.docx
《MATLABSIMULINK积分器相关操作.docx》由会员分享,可在线阅读,更多相关《MATLABSIMULINK积分器相关操作.docx(15页珍藏版)》请在冰豆网上搜索。
MATLABSIMULINK积分器相关操作
MATLABSIMULINKIntegrator,IntegratorLimited–积分,积分限制器
积分信号
库
连续
说明
Integrator块输出在其输入端的在当前时间步的中积分。
IntegratorLimited块是相同于Integrator块的,模块的输出被限制的限和下部饱和极限的异常。
积分的详细信息,请参阅SeeLimitingtheIntegral。
下面的公式表示的模块将y作为其输入的u函数的输出和一个初始条件哟,其中y和u是当前模拟时间t的矢量函数。
Simulink软件可以根据每个在特定的应用程序中的优点,使用许多不同的数值积分方法来计算积分器块的输出。
使用的配置参数对话框中的规划求解(见SolverPane),选择最适合您的应用程序的技巧。
Simulink的Integrator块的一个状态,它的输出是一个动态的系统。
Integrator的输入是时间导数的状态。
所选择的解算器,Integrator块使用当前的输入值和在先前时间步长的值的状态下,计算在当前时间步中的输出。
为了支持这一计算模型,Integrator块将其输出保存在当前的时间步长并用于解算器在下一时间步长下计算其输出。
块还提供求解器与模拟运行的开始计算的初始状态中使用的初始条件。
初始条件的默认值是0。
块的参数对话框允许你指定另一个初始条件值,或创建一个初始值输入端口。
使用参数“对话框中:
:
定义上积分的上限和下限
创建一个输入块的复位输出(state),其初始值,这取决于如何输入
创建一个可选的状态,使输出块的输出值可以触发块复位
使用Discrete-TimeIntegrator块来创建一个纯粹的离散系统
定义初始条件
您可以定义块对话框或从外部的信号输入它们作为参数的初始条件
要定义一个块参数的初始条件,指定Initialconditionsource参数为internal和输入Initialcondition的值。
从外部源提供的初始条件,指定Initialconditionsource参数为external。
额外的输入端口会出现在模块上,输入。
注意,如果积分限制了它的输出(请参阅限制积分),初始条件必须在积分器的饱和极限内。
如果初始条件是块的饱和极限以外,该块将显示一个错误消息。
限制积分
为了防止输出超过可指定的水平,选择限制输出“复选框,并输入适当的参数字段的限值。
此操作将导致该块作为有限的积分器。
当输出达到极限,积分作用被关闭,以防止超过积分限值。
在仿真过程中,你可以改变的极值,但你不能改变输出是否被限制。
该块确定输出如下:
当积分输出是小于或等于Lowersaturationlimit,输出被保持在Lowersaturationlimit.。
当积分输出在Lowersaturationlimit和Uppersaturationlimit,输出是积分值。
当积分输出是大于或等于theUppersaturationlimit,输出被保持在Uppersaturationlimit.。
要产生一个信号,表明被限制时的状态,选择“Showsaturationport”复选框。
一个饱和端口出现下面的块输出端口
该信号具有三个值中的一个:
1表明的上限被施加。
0表示积分并不限制。
-1表示的下限被应用。
当您选择此复选框后,该块有三个零交叉点:
一,当它检测到进入上饱和的限制,,当它检测进入下饱和度的限制,当它检测离开饱和
注意:
对于IntegratorLimited块,Limitoutput被选中,默认情况下,Uppersaturationlimit设置为1,Lowersaturationlimit设置为0。
重置状态
该块在指定的初始条件下,基于外部信号,可以复位其状态。
为了使块重设其状态,选择一个Externalreset。
一个的触发端口出现以下模块的输入端口,并指示触发类型。
选择rising到复位状态,当信号从零到一个正值,或从负上升到一个正值时复位。
选择falling到复位状态,当信号落在从正值到零或从正值变为负值时复位。
选择either状态,当复位信号的变化从零到一个非零值或有变化迹象时复位。
选择level状态复位状态,当复位信号在当前时间步长或从非零改变时为非零值,在先前时间步长到在当前时间步骤中为零。
选择hold复位状态,当复位信号是在当前时间步长为非零时复位。
复位端口直接馈通。
如果该块的输出反馈到这个端口,可直接馈通,导致一个代数环(见AlgebraicLoops)。
使用的Integrator块的状态反馈到块的输出端口,而无需创建一个代数环。
注意:
要符合汽车工业软件可靠性协会(MISRA?
)软件标准,你的模型必须使用布尔信号,以驱动外部复位端口的Integrator块。
关于状态端口
Integrator模块的参数对话框中选择Showstateport复选框会导致额外的输出端口,状态端口,出现在Integrator模块的顶部
除了下面的情况下的模块的标准输出端口的输出,的状态端口的输出是相同的。
如果在当前时间步中该块复位状态端口的输出是有出现的值,如果该块没有被复位,该值在块的标准输出。
状态端口的输出比Integrator模块的输出端口的输出出现比较早的时间步长。
使用状态的端口,可以在这些模拟场景避免产生代数环:
自复位积分器(请参阅CreatingSelf-ResettingIntegrators)
移交启用子系统之间(见HandingOffStatesBetweenEnabledSubsystems)
注意:
当更新模型,仿真检查,状态端口适用于以下两种情况之一。
如果没有,会出现错误讯息。
此外,您在加速模式下执行一个参考模型无法登录这个端口的输出。
如果启用了日志记录的端口,在执行过程中的参考模型,仿真生成一个“警告信号”.
创建自复位积分器
Integrato模块的状态端口其有输出的值时,可以考虑在创建一个积分器复位的基础上,帮助你避免代数环。
例如,下面的模型。
这种模式试图创建一个自复位积分器的反馈,负反馈1,积分器的输出到积分器的复位端口。
然而,该模型创建一个代数环。
要计算积分器的输出,Simulink软件需要知道块的复位信号,反之亦然。
由于这两个值是相互依存的,Simulink软件不能确定。
因此,出现错误讯息,如果你尝试更新模型。
下面的模型使用积分器的端口,以避免代数环。
在这个版本中,该复位信号的值取决于的状态端口的值。
提供的状态端口的值是在当前时间步中integrator块的输出端口的值。
因此,仿真可确定该块是否需要被复位之前,计算块的输出,从而避免了代数环。
传递启用子系统之间的状态
传递两个已启用的子系统之间的状态时,可以考虑用状态端口,帮助你避免代数环。
例如,下面的模型。
启用的子系统,A,B,包含以下块:
A子系统
B子系统
在这个模型中,一个常量的输入积分的信号‘驱动两个已启用的子系统。
脉冲发生器产生一个有效的信号,使在执行两个子系统之间传递。
每个子系统的端口被设置为复位,这将导致子系统重置积分器时,它变得活跃。
重置积分,在其初始条件端口,使积分器读值。
每个子系统中的积分器的初始条件端口被连接到其他子系统中的积分器的输出端口。
这种连接的目的是使两个子系统之间的的积分信号的执行的交替变化作为输入。
因此,连接创建一个代数环。
A仿真需要知道B的输出,反之亦然。
因为输出是相互依存的,不能计算Simulink的输出值。
因此,出现错误讯息,如果你尝试更新模型。
以下版本使用相同型号的积分状态端口,以避免创建一个代数环时。
启用的子系统,A,B,包含以下块:
A
B
在这个模型中,在A中的积分器的初始状态的值依赖于端口B中的积分器状态,反之亦然。
前面的积分器的输出端口的模拟时间步长的值被状态端口更新。
因此,仿真不知道其他积分器的最终输出值的情况下,可以计算任意积分器的初始条件。
有关使用状态端口之间,有条件关闭状态地执行子系统的另一个例子,请参阅sldemo_clutch模型。
注意:
Simulink中不允许三个或更多子系统模型启用状态传递。
如果检测仿真模型有两个以上子系统被传递的状态,它会产生一个错误。
指定块输出的绝对公差为
默认情况下Simulink软件使用绝对公差值中指定的配置参数“对话框中(请参阅SpecifyingErrorTolerancesforVariable-StepSolvers)来计算输出的积分器块。
如果这个值不能提供足够的误差控制,在Integrator块的Absolutetolerance对话框中,指定一个更合适的值。
您指定的值是用来计算所有的块输出。
选择全部选项
当您选择所有选项,块图标看起来是这样的。
数据类型支持
Integrator模块的数据端口接收和输出double类型信号。
外部复位端口接收double或Booln.类型的信号。
参数和对话框
Externalreset
当触发事件发生时,触发复位信号,,其初始条件复位。
设置
默认值:
none
none
不要复位状态的初始条件。
rising
复位状态的复位信号,从零到一个正值,或从负上升到一个正值。
falling
复位时的状态的复位信号落在从正值到零或从正值变为负值。
either
复位状态,当复位信号的变化从零到一个非零值或更改。
level
复位状态,当复位信号在当前时间步长或从非零改变时为非零值,在先前时间步长到在当前时间步骤中为零。
levelhold
当复位信号为非零值在当前时间步长,复位状态。
命令行信息
命令行信息请参阅Block-SpecificParameters
Initialconditionsource
获得初始条件的状态。
设置
默认值:
internal
internal
从Initialcondition参数获得初始条件的状态。
external
从块的一个外部端口获取初始条件的状态。
提示
Simulink软件不允许块的初始条件是INF或NaN。
依存关系
选择internal,启用Initialcondition参数。
选择external禁用Initialcondition参数。
命令行信息
命令行信息请参阅Block-SpecificParameters
Initialcondition
指定初始条件的状态。
设置
默认:
0
提示
Simulink软件不允许块的初始条件是INF或NaN。
依存关系
Initialconditionsource设置为interna,启用此参数。
Initialconditionsource设置为external,禁用此参数。
命令行信息
命令行信息请参阅Block-SpecificParameters
Limitoutput
块的输出限制在Lowersaturationlimit和Uppersaturationlimit参数之间的一个值。
设置
默认:
Off
On
块的输出限制在Lowersaturationlimit和Uppersaturationlimit参数之间的一个值。
Off
块的输出不限制在Lowersaturationlimit和Uppersaturationlimit参数之间的一个值。
依存关系
此参数可使用Uppersaturationlimit.
此参数可使用Lowersaturationlimit.
命令行信息
命令行信息请参阅Block-SpecificParameters
Uppersaturationlimit
指定的积分的上限。
设置
默认:
inf
Minimum:
输出Outputminimum参数值
Maximum:
输出Outputmaximum参数值
依存关系
Limitoutput启用此参数.
命令行信息
命令行信息请参阅Block-SpecificParameters
Lowersaturationlimit
指定的积分的下限
设置
默认:
-inf
Minimum:
输出Outputminimum参数值
Maximum:
输出Outputmaximum参数值
依存关系
Limitoutput启用此参数..
命令行信息
命令行信息请参阅Block-SpecificParameters
Showsaturationport
模块添加饱和输出端口。
设置
默认:
Off
On
模块添加饱和输出端口
Off
模块不添加饱和输出端口Donotaddasaturationoutputporttotheblock.
命令行信息
命令行信息请参阅Block-SpecificParameters
Showstateport
模块添加一个输出状态端口。
设置
默认:
Off
On
模块添加一个输出状态端口
Off
模块不添加一个输出状态端口
命令行信息
命令行信息请参阅Block-SpecificParameters
Absolutetolerance
指定的绝对公差计算块状态。
设置
默认:
auto
您可以输入auto,-1,一个实数的标量,一个实数的向量。
如果你输入auto或-1,那么Simulink使用absolutetolerance对话框中的配置参数(见SolverPane)来计算块状态。
如果你输入一个实数的标量,则该值会覆盖“absolutetolerance对话框中的配置参数差来计算所有块的状态。
如果你输入一个实数的向量,那么矢量的维度必须符合模块的维度。
这些值会覆盖absolutetolerance对话框的配置参数
命令行信息
命令行信息请参阅Block-SpecificParameters
Ignorelimitandresetwhenlinearizing
Simulink的线性化命令来处理这个导致不可复位的模块,无论块的复位和输出限制选项有无设置,都作为具有在其输出端没有任何限制,。
设置
默认:
Off
On
Simulink的线性化命令来处理这个导致不可复位的模块,无论块的复位和输出限制选项有无设置,都作为具有在其输出端没有任何限制,。
Off
Simulink的线性化命令来处理这个不导致不可复位的模块,无论块的复位和输出限制选项有无设置,都作为具有在其输出端没有任何限制,。
提示
使用此复选框周围的操作点,使积分器重新设置或饱和线性化模型。
命令行信息
命令行信息请参阅Block-SpecificParameters
Enablezero-crossingdetection
选择启用过零检测。
有关详细信息,请参阅Zero-CrossingDetection.
设置
默认:
On
On
以下事件启用过零检测,:
重新设置的时间步长,上饱和状态的进入或离开和下饱和状态的进入或离开。
Off
以下事件不启用过零检测,:
重新设置的时间步长,上饱和状态的进入或离开和下饱和状态的进入或离开。
如果您的模型作为一个整体选择此Limitoutput复选框和过零检测,积分器块启用过零检测。
命令行信息
命令行信息请参阅Block-SpecificParameters
StateName(e.g.,'position')
分配给每个状态下一个唯一的名称。
设置
默认:
''
如果此字段是空白的,没有名字分配。
提示
要指定一个单一的状态的一个名称,,引号之间输入名称,例如,'velocity'。
要分配到多个状态的名称,输入一个逗号分隔的列表,用括号括起来,例如,{'A','B','C'}。
每个名称都必须是唯一的。
状态名称仅适用于选定的块。
必须清除的状态名称之间的状态数。
您可以指定比状态数量较少的状态名字,但你不能指定多与状态数的名称。
例如,您在一个系统中可以指定两个名字,有四个状态。
第一个名称适用于前两种状态,第二个名字是最后两个状态的名字。
分配状态名称与MATLAB工作空间中的变量,输入不带引号的变量。
变量可以是一个字符串,单元阵列或结构。
命令行信息
命令行信息请参阅Block-SpecificParameters
实例
下面的演示模型显示如何使用Integrator模块:
sldemo_hardstop
sldemo_suspn
sldemo_wheelspeed_absbrake
特性
DirectFeedthrough
直接馈通
Yes,复位和外部的初始条件源端口
SampleTime
采样时间
连续
ScalarExpansion
标量扩展
Yes,参数
States
状态
继承自驱动模块或参数
Dimensionalized
量纲化
Yes
Multidimensionalized
多量纲化
No
Zero-CrossingDetection
过零检测
Yes,如果启用,选择Limitoutput复选框,一个用于检测复位,一个检测上,下饱和度的限制,和一个在离开饱和度时
另请参阅
Discrete-TimeIntegrator
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLABSIMULINK 积分器 相关 操作