输入信号的二阶积分
万博1manbetx模型/连续
的二阶积分器块和二阶积分器有限块解二阶初值问题:
在哪里u是系统的输入。因此,块是一个具有两种连续状态的动态系统:x和dx / dt.
请注意
这两种状态有一个数学关系,即dx / dt的导数x.为了在整个仿真过程中满足这种关系,Simulink对块参数和行为施加了各种约束。万博1manbetx
的二阶积分器有限块与二阶积分器块,但它默认基于指定的上限和下限限制状态。有关更多信息,请参见限制美国.
万博1manbetx®软件可以使用几种不同的数值积分方法来计算块的输出。每种方法对于特定的应用都有优势。使用解算器窗格中选择最适合您的应用程序的技术。(有关更多信息,请参见解算器选择标准.)选定的求解器计算的状态二阶积分器使用当前输入值在当前时间步长处阻塞。
使用block参数对话框:
指定每个状态初始条件的来源是内部的还是外部的
为状态初始条件指定一个值
定义其中一种状态或两种状态的上限和下限
为每个状态指定绝对公差
为这两个状态指定名称
选择外部复位条件
使讨论二阶导数过零检测
当x达到饱和时重新初始化dx/dt
指定Simulink忽略线万博1manbetx性化操作的状态限制和外部复位
您可以将每种状态的初始条件单独定义为块对话框上的参数,或者从外部信号输入一个或两个参数。
来定义初始状态条件x作为块参数,使用初始条件源x下拉菜单选择内部
并将值输入x初始条件字段。
从外部来源提供状态的初始条件x,指定初始条件源x参数,外部
.一个额外的输入端口出现在块上。
来定义初始状态条件dx / dt作为块参数,使用初始条件源dx/dt下拉菜单选择内部
并将值输入初始条件dx / dt字段。
从外部来源提供状态的初始条件dx / dt,指定初始条件源dx/dt作为外部
.一个额外的输入端口出现在块上。
如果您选择为两个状态初始条件使用外部源,则您的块将出现如下所示。
请注意
万博1manbetxSimulink不允许初始条件值为正
或南
.
如果你处于极限状态x或状态dx / dt通过指定饱和极限(见限制美国)和一个或多个初始条件超出了相应的限制,然后将各自的状态初始化为最接近的有效值,并计算出一组一致的初始条件。
在对二阶系统建模时,您可能需要限制块状态。例如,活塞在气缸内的运动受牛顿第二定律的支配,并对活塞的位置有约束(x).与二阶积分器块,你可以限制状态x和dx / dt彼此独立。你甚至可以在模拟过程中改变限制;但是,您不能更改状态是否受到限制。要遵循的一个重要规则是,上限必须严格大于相应的下限。
当您限制一种或两种状态时,块的外观会发生变化。当这两种状态都受到限制时,块显示如下。
对于每个状态,您可以使用块参数对话框设置适当的饱和度限制。
如果你使用二阶积分器有限块,默认情况下这两种状态都是有限的。但您也可以手动限制状态x在二阶积分器块通过选择限制x并在适当的参数字段中输入极限。
然后块确定状态的值如下:
当x小于或等于它的下限,值x在它的下限和dx / dt为零。
当x处于上下限之间,两种状态都遵循二阶ODE给出的轨迹。
当x是否大于或等于它的上限x在它的上限和dx / dt为零。
您可以选择重新初始化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必须是负的。
当这两种状态都是有限的时,block决定如下状态:
每当x达到极限时,结果行为与“仅限x”中描述的行为相同。
每当dx / dt当达到它的一个极限时,结果的行为与“仅限dx/dt”中描述的行为相同——包括计算x使用一阶ODEdx / dt在它的一个极限。在这种情况下,当x达到一个极限时,它就保持在那个极限dx / dt为零。
当两者同时达到各自的极限时,状态x行为覆盖dx / dt行为保持状态的一致性。
当限制这两种状态时,可以选择重新初始化dx / dt以时当国x达到饱和。如果重新初始化的值超出了指定的限制dx / dt,然后dx / dt重新初始化为最接近的有效值,并计算一组一致的初始条件。看到当x达到饱和时重新初始化dx/dt
块可以根据外部信号将其状态重置为指定的初始条件。要使块重置其状态,请选择外部复位的选择上属性窗格。触发器端口出现在其输入端口下面的块上,并指示触发器类型。
选择不断上升的
当复位信号从零上升到正值、从负上升到正值或从负上升到零时,复位状态。
选择下降
当复位信号从正数降至零、从正数降至负数或从零降至负时,复位状态。
选择要么
当复位信号从零变为非零值或改变符号时,复位状态。
复位端口有直接馈通。如果块输出反馈到这个端口,直接或通过一系列块直接馈通,一个代数循环结果(见代数循环概念).
该参数控制是否对该块启用过零检测。默认情况下,使讨论二阶导数过零检测的属性窗格。但是,此参数仅在讨论二阶导数过零控制,在解算器窗格中的,为使用本地设置
.有关更多信息,请参见讨论二阶导数过零检测.
对于某些建模应用程序,dx / dt必须重新初始化时状态x达到它的极限,为了拉x立即饱和。您可以通过选择来实现这一点当x达到饱和时重新初始化dx/dt在属性窗格。
如果这个选项是开启的,那么当x达到饱和时,Simulink检查是否万博1manbetxdx / dt初始条件(参数或信号)允许状态x立即离开饱和。如果是这样,S万博1manbetximulink将重新初始化状态dx / dt初始条件(参数或信号)在该时刻的值。如果没有,Sim万博1manbetxulink将在当前时刻忽略此参数并设置dx / dt为0,以使块状态一致。
该参数仅在“when”时刻有效x达到饱和极限。这在以后的任何时候都不适用x被保持在饱和状态。
更多信息请参阅关于限制状态的章节。例如,请参见模拟弹跳球.
对于通过线性化简化模型的情况,可以通过选择让Simulink忽略状态和外部复位的限制万博1manbetx忽略状态限制和重置的线性化.
默认情况下,Simul万博1manbetxink软件使用配置参数对话框中指定的绝对公差值可变步长求解器的误差公差)来计算积分器块的输出。如果这个值不能提供足够的错误控制,请为state指定一个更合适的值x在绝对宽容x字段和状态dx / dt在绝对宽容dx / dt参数对话框的字段。万博1manbetxSimulink使用您指定的值来计算块的状态值。
您可以控制是否显示x或者是dx / dt输出端口使用ShowOutput
参数。您可以显示一个或两个输出端口;但是,您必须至少选择一个。
可以指定的名称x州和dx / dt国家使用StateNameX
和StateNameDXDT
参数。但是,您必须指定两者的名称,或者两者都不指定;不能为just指定名称x或者只是dx / dt.两个州名必须具有相同的类型和长度。此外,名称的数量必须平均地除以州的数量。
当您选择所有选项时,块图标看起来像这样。
数据类型 |
|
多维信号 |
|
适应信号 |
|