对输入信号积分两次
连续
的二阶积分器Block和二阶积分器有限公司块解二阶初值问题:
在哪里u是系统的输入。因此,该块是一个具有两个连续状态的动态系统:x而且dx / dt.
这两种状态有一个数学关系,即dx / dt是的导数x.为了在整个仿真过程中满足这种关系,Simulink对块参数和行为施加了各种约束。万博1manbetx
的二阶积分器有限公司Block与二阶积分器块,但它默认基于指定的上限和下限限制状态。有关更多信息,请参见限制各州.
万博1manbetx®软件可以使用许多不同的数值积分方法来计算块的输出。每种方法对于特定的应用都有优点。使用解算器窗格中的“配置参数”对话框中选择最适合您的应用程序的技术。(有关更多信息,请参见解算器类型)。的状态二阶积分器使用当前输入值在当前时间步上阻塞。
使用块参数对话框:
指定每个状态初始条件的源是内部的还是外部的
为状态初始条件指定一个值
定义其中一个或两个状态的上限和下限
为每个状态指定绝对公差
为这两种状态指定名称
选择外部复位条件
启用过零检测
当x达到饱和时重新初始化dx/dt
指定Simulink不考虑万博1manbetx线性化操作的状态限制和外部重置
您可以将每个状态的初始条件单独定义为块对话框上的参数,也可以从外部信号输入一个或两个状态。
定义初始状态条件x作为块参数,使用初始条件源x要选择的下拉菜单内部
中输入该值初始条件x字段。
从外部源为状态提供初始条件x,指定初始条件源x参数,外部
.块上出现了一个额外的输入端口。
定义初始状态条件dx / dt作为块参数,使用初始条件源dx/dt要选择的下拉菜单内部
中输入该值初始条件dx/dt字段。
从外部源为状态提供初始条件dx / dt,指定初始条件源dx/dt作为外部
.块上出现了一个额外的输入端口。
如果您选择对两个状态初始条件使用外部源,则您的块将显示如下。
万博1manbetx的初始条件值正
或南
.
如果你限制状态x或状态dx / dt通过指定饱和限制(参见限制各州)且一个或多个初始条件超出相应的限制,则将各自的状态初始化为最接近的有效值,并计算一组一致的初始条件。
在建模二阶系统时,您可能需要限制块状态。例如,活塞在气缸内的运动受牛顿第二定律支配,并且活塞的位置有限制(x).与二阶积分器块,你可以限制状态x而且dx / dt相互独立。你甚至可以在模拟过程中改变限制;但是,您无法更改状态是否受限。要遵循的一个重要规则是,上限必须严格大于相应的下限。
当限制其中一种或两种状态时,块外观会发生变化。下面显示的是两个状态都有限的块的外观。
对于每种状态,都可以使用块参数对话框来设置适当的饱和度限制。
如果你使用二阶积分器有限公司Block,默认情况下这两种状态都是受限的。但是您也可以手动限制状态x在二阶积分器通过选择块限制x并在适当的参数字段中输入限制。
然后块确定状态值如下:
当x小于或等于它的下限,值x保持在它的下限和dx / dt设置为0。
当x介于它的上下限之间,两个状态都遵循二阶ODE给出的轨迹。
当x大于或等于它的上限,值x保持在其上限和dx / dt设置为0。
您可以选择重新初始化dx / dt到一个新的值时x达到饱和。看到当x达到饱和时重新初始化dx/dt
和国家一样x,国家dx / dt在?上默认设置为受限dx / dt窗格的二阶积分器有限参数对话框。您可以手动设置,限制dx / dt在二阶积分器块上。在任何一种情况下,都必须输入适当的限制dx / dt.
如果你只限制州dx / dt,则块确定的值dx / dt如下:
当dx / dt小于或等于它的下限,值dx / dt保持在它的下限。
当dx / dt介于它的上下限之间,两个状态都遵循二阶ODE给出的轨迹。
当dx / dt大于或等于它的上限,值dx / dt保持在其上限。
当状态dx / dt保持在它的上限或下限,值x由一阶初值问题控制:
在哪里l是dx / dt极限(上限或下限),tl是时候dx / dt达到这个极限,并且xl状态的值是多少x那时。
当限制两个状态时,Simulink通过限制的上限和下限的万博1manbetx允许值来保持状态的数学一致性dx / dt.这些限制是满足下列约束条件所必需的:
当x是在其饱和极限,值dx / dt必须是零。
为了x要离开的上限,的值dx / dt必须是完全否定的。
为了x留下它的下限,的值dx / dt必须是绝对肯定的。
因此,对于这种情况,的上限dx / dt必须是严格的正数和下限dx / dt必须是完全否定的。
当这两个状态都是有限的,块确定状态如下:
每当x达到极限时,所产生的行为与“只限制x”中所描述的相同。
每当dx / dt当达到极限之一时,所得到的行为与“仅限制dx/dt”中所描述的行为相同-包括的计算x使用一阶ODE时dx / dt在它的一个极限处。在这种情况下,当x达到一个极限,它就被保持在这个极限dx / dt设置为0。
当两者同时达到各自的极限时,状态x行为覆盖dx / dt行为来维护状态的一致性。
当限制这两种状态时,可以选择重新初始化dx / dt在当时的状态x达到饱和。重新初始化的值是否超出了上的指定限制dx / dt,然后dx / dt重新初始化为最接近的有效值,并计算一组一致的初始条件。看到当x达到饱和时重新初始化dx/dt
该块可以根据外部信号将其状态重置为指定的初始条件。属性中的一个,可使块重置其状态外部复位选择属性窗格。触发器端口出现在块的输入端口下方,并指示触发器类型。
选择不断上升的
当复位信号从零上升到正值、从负值上升到正值或从负值上升到零时,复位状态。
选择下降
当复位信号从正到零、从正到负值或从零到负时,重置状态。
选择要么
当重置信号从零变为非零值或改变符号时,重置状态。
复位口直通。如果块输出直接或通过一系列具有直接馈通的块反馈回该端口,则会产生一个代数循环(参见代数循环).
此参数控制是否为该块启用过零检测。默认情况下,启用过零检测参数属性窗格。但是,此参数仅在讨论二阶导数过零控制,在解算器窗格的“配置参数”对话框,则设置为使用本地设置
.有关更多信息,请参见讨论二阶导数过零检测.
对于某些建模应用程序,dx / dt必须重新初始化时状态x达到极限才能拉动x立即脱离饱和。您可以通过选择来实现这一点当x达到饱和时重新初始化dx/dt在属性窗格。
如果这个选项是打开的,那么在那一瞬间x的当前值是否达到饱和,则Simulink万博1manbetx检查dx / dt初始条件(参数或信号)允许状态x立即离开饱和。如果是,Sim万博1manbetxulink重新初始化状态dx / dt初始条件(参数或信号)的值。如果不是,Sim万博1manbetxulink在当前时刻忽略该参数并设置dx / dt为0以使块状态一致。
该参数仅适用于x实际上达到饱和极限。它不适用于未来的任何时间x处于饱和状态。
有关更多信息,请参阅有关限制状态的部分。有关示例,请参见sldemo_bounce
的例子。
对于通过线性化模型来简化模型的情况,可以让Simulink忽略状态的限制,并通过选择外部重置万博1manbetx忽略状态限制和线性化重置.
默认情况下,Simul万博1manbetxink软件使用“配置参数”对话框中指定的绝对容差值变步长求解器的误差容限)来计算积分器块的输出。如果此值不能提供足够的错误控制,请为state指定更合适的值x在绝对公差x字段和状态dx / dt在绝对公差dx/dt参数对话框中的字段。万博1manbetxSimulink使用您指定的值来计算块的状态值。
控件可以控制是否显示x或者是dx / dt输出端口使用ShowOutput
参数。您可以显示一个输出端口或两个输出端口;但是,您必须至少选择一个。
的名称x州和dx / dt使用StateNameX
而且StateNameDXDT
参数。但是,您必须为两者或两者都指定名称;你不能只是指定名字x或者只是dx / dt.两个状态名必须具有相同的类型和长度。此外,名称的数量必须平均分配状态的数量。
当您选择所有选项时,块图标看起来像这样。
Integrator块接受并输出类型的信号双
在其数据端口上。外部复位端口接受类型信号双
或布尔
.
有关更多信息,请参见Simulink支持的万博1manbetx数据类型万博1manbetx在Simuli万博1manbetxnk文档中。
指定状态x的初始条件源。
默认值:内部
内部
得到初始状态条件x从初始条件x参数。
外部
得到初始状态条件x从外部块。
万博1manbetxSimulink软件不允许此块的初始条件为正
或南
.
选择内部
使初始条件x参数。
选择外部
禁用初始条件x参数. .
参数:ICSourceX |
类型:特征向量 |
值:“内部” |“外部” |
默认值:“内部” |
指定初始状态条件x.
默认值:0.0
万博1manbetxSimulink软件不允许此块的初始条件为正
或南
.
设置初始条件源x来内部
启用此参数。
设置初始条件源x来外部
禁用此参数。
参数:ICX |
类型:标量或向量 |
值:' 0 ' |
默认值:' 0 ' |
极限状态x值之间的值下限x而且上限x参数。
默认值:从
对于二阶积分器,在
二阶积分器有限公司
极限状态x之间的值下限x而且上限x参数。
不要将状态x输出限制在下限x而且上限x参数。
此参数启用上限x参数。
此参数启用下限x参数。
参数:LimitX |
类型:特征向量 |
值:“关闭” |“上” |
默认值:“关闭” |
指定状态的上限x.
默认值:正
对于二阶积分器,1
二阶积分器有限公司
状态的饱和上限x必须严格大于饱和度下限。
限制x启用此参数。
参数:UpperLimitX |
类型:标量或向量 |
值:“正” |
默认值:“正” |
指定状态的下限x.
默认值:负
对于二阶积分器,0
二阶积分器有限公司
状态的饱和下限x必须严格小于饱和上限。
限制x启用此参数。
参数:LowerLimitX |
类型:标量或向量 |
值:“负” |
默认值:“负” |
启用包装x之间的包装上值x而且包装较低的x值参数。启用包装x消除了对过零检测的需要,减少了求解器复位,提高了求解器性能和精度,并在建模旋转和循环状态轨迹时增加了仿真时间跨度。
默认值:从
启用包装x之间的包装上值x而且包装较低的x值参数。
如果你指定包装上值x作为正
而且包装较低的x值作为负
,包装将永远不会发生。
不启用包装x.
此参数启用包装上值x.
此参数启用包装较低的x值.
参数:WrapX |
类型:特征向量 |
值:“关闭” |“上” |
默认值:“关闭” |
指定包装的最大值x.
默认值:“π”
用x启用此参数。
参数:WrappedUpperValueX |
类型:标量或向量 |
值:“2 *π” |
默认值:“π” |
为包装指定较低的值x.
默认值:-π
用x启用此参数。
参数:WrappedLowerValueX |
类型:标量或向量 |
值:' 0 ' |
默认值:“-π” |
指定计算状态的绝对容差x.
默认值:汽车
你可以进入汽车
, -1,一个正的实标量或向量。
如果你进入汽车
或-1时,Si万博1manbetxmulink使用“配置参数”对话框中的绝对公差值(请参阅解算器窗格中)来计算状态x.
如果输入一个实标量值,该值将覆盖“配置参数”对话框中的绝对公差,并用于计算所有值x州。
如果输入一个实向量,该向量的维数必须与状态的维数匹配x.这些值覆盖“配置参数”对话框中的绝对容差。
参数:AbsoluteToleranceX |
类型:字符向量、标量或向量 |
值:“汽车” |' 1 ' |任何正实标量或向量 |
默认值:“汽车” |
为state分配唯一的名称x.
默认值:”
要为单个状态分配名称,请在引号之间输入名称,例如position'。
将名称分配给多个x状态,输入一个用括号括起来的逗号分隔的列表,例如,{'a', 'b', 'c'}。每个名称必须唯一。
状态名仅应用于所选块。
的州名x时,还必须指定状态名dx / dt.
州名x而且dx / dt必须具有相同的类型和长度。
州的数目必须除以州名的数目。您可以指定少于x状态,但不能指定多于x州。例如,您可以在具有四个状态的系统中指定两个名称。第一个名字适用于前两个状态,第二个名字适用于后两个状态。但是,您必须保持一致,并对状态名应用相同的方案dx / dt.
用MATLAB中的变量指定状态名®工作区,输入不带引号的变量。变量可以是字符向量或单元格数组。
参数:StateNameX |
类型:特征向量 |
值:' ' |用户定义 |
默认值:' ' |
为状态指定初始条件源dx / dt.
默认值:内部
内部
得到初始状态条件dx / dt从初始条件dx/dt参数。
外部
得到初始状态条件dx / dt从外部块。
万博1manbetxSimulink软件不允许此块的初始条件为正
或南
.
选择内部
使初始条件dx/dt参数。
选择外部
禁用初始条件dx/dt参数。
参数:ICSourceDXDT |
类型:特征向量 |
值:“内部” |“外部” |
默认值:“内部” |
指定初始状态条件dx / dt.
默认值:0.0
万博1manbetxSimulink软件不允许此块的初始条件为正
或南
.
设置初始条件源dx/dt来内部
启用此参数。
设置初始条件源dx/dt来外部
禁用此参数。
参数:ICDXDT |
类型:标量或向量 |
值:' 0 ' |
默认值:' 0 ' |
将块的dx/dt状态限制为下限dx/dt而且dx/dt的上限参数。
默认值:从
对于二阶积分器,在
二阶积分器有限公司
极限状态dx / dt值之间的值下限dx/dt而且dx/dt的上限参数。
不要限制状态dx / dt值之间的值下限dx/dt而且dx/dt的上限参数。
如果你设置饱和度限制x的定义的区间dx/dt的上限而且下限dx/dt必须包含零。
此参数启用dx/dt的上限.
此参数启用下限dx/dt.
参数:LimitDXDT |
类型:特征向量 |
值:“关闭” |“上” |
默认值:“关闭” |
指定状态的上限dx / dt.
默认值:“正”
如果你限制x,则该参数必须为严格的正值。
限制dx / dt启用此参数。
参数:UpperLimitDXDT |
类型:标量或向量 |
值:“正” |
默认值:“正” |
指定状态的下限dx / dt.
默认值:“负”
如果你限制x,则该参数必须为严格的负值。
限制dx / dt启用此参数。
参数:LowerLimitDXDT |
类型:标量或向量 |
值:“负” |
默认值:“负” |
指定计算状态的绝对容差dx / dt.
默认值:汽车
你可以进入汽车
, -1,一个正的实标量或向量。
如果你进入汽车
或-1,则Simulin万博1manbetxk在“配置参数”对话框中使用绝对公差值(请参阅解算器窗格中),以计算dx / dt块的输出。
如果输入数值,则该值将覆盖“配置参数”对话框中的绝对容差。
参数:AbsoluteToleranceDXDT |
类型:字符向量、标量或向量 |
值:“汽车” |' 1 ' |任何正实标量或向量 |
默认值:“汽车” |
为state分配唯一的名称dx / dt.
默认值:”
要为单个状态分配名称,请在引号之间输入名称,例如'velocity'。
将名称分配给多个dx / dt状态,输入一个用括号括起来的逗号分隔的列表,例如,{'a', 'b', 'c'}。每个名称必须唯一。
状态名仅应用于所选块。
的州名dx / dt时,还必须指定状态名x.
州名x而且dx / dt必须具有相同的类型和长度。
州的数目必须除以州名的数目。您可以指定少于dx / dt状态,但不能指定多于dx / dt州。例如,您可以在具有四个状态的系统中指定两个名称。第一个名字适用于前两个状态,第二个名字适用于后两个状态。但是,您必须保持一致,并对状态名应用相同的方案x.
若要在MATLAB工作区中使用变量分配状态名,请输入不带引号的变量。变量可以是字符向量或单元格数组。
参数:StateNameDXDT |
类型:特征向量 |
值:' ' |用户定义 |
默认值:' ' |
当复位信号中发生触发事件时,将状态重置为初始条件。
默认值:没有一个
没有一个
不要将状态重置为初始条件。
不断上升的
当复位信号从零上升到正值或从负值上升到正值时,复位状态。
下降
当复位信号从正变为零或从正变为负值时,复位状态。
要么
当重置信号从零变为非零值或改变符号时,重置状态。
参数:ExternalReset |
类型:特征向量 |
值:“没有” |“上升” |“下降” |“不是” |
默认值:“没有” |
选中以启用过零检测。有关更多信息,请参见讨论二阶导数过零检测.
默认值:在
启用过零检测。
不要启用过零检测。
参数:ZeroCross |
类型:特征向量 |
值:“上” |“关闭” |
默认值:“上” |
在瞬间的状态x达到饱和,复位dx / dt到它当前的初始条件。
默认值:从
重置dx / dt到它的初始条件x成为饱和。
不要重置dx / dt到它的初始条件x成为饱和。
的dx / dt初始条件必须具有启用的值x立即离开饱和。否则,Simulink万博1manbetx将忽略的初始条件dx / dt保持块状态的数学一致性。
参数:ReinitDXDTwhenXreachesSaturation |
类型:特征向量 |
值:“关闭” |“上” |
默认值:“关闭” |
为了线性化的目的,让Simulink忽略指定的状态限制和外部复位。万博1manbetx
默认值:从
忽略指定的状态限制和外部重置。
应用指定的状态限制和外部重置设置。
参数:IgnoreStateLimitsAndResetForLinearization |
类型:特征向量 |
值:“关闭” |“上” |
默认值:“关闭” |
指定块上的输出端口。
默认值:这两个
这两个
显示两个x而且dx / dt输出端口。
x
只显示x输出端口。
dx / dt
只显示dx / dt输出端口。
参数:ShowOutput |
类型:特征向量 |
值:“两个” |“x” |“dxdt” |
默认值:“两个” |
数据类型 |
双 |
多维信号 |
没有 |
适应信号 |
没有 |
代码生成 |
是的 |