DiscreteVariables

DiscreteVariables

NDSolve 和其他函数的一个选项,指定只在时间积分中离散时间发生改变的变量.

更多信息

  • DiscreteVariables->{v1, v2,} 指定 v1v2 应该被视为只在离散时间发生改变的变量.
  • 离散变量 v 的值可以通过 WhenEvent[event,v->val] 或者 WhenEvent[event,v->"DiscontinuitySignature"] 改变.
  • 离散变量解 v 可以通过使用 NDSolve[eqn,{v,},] 返回.
  • DiscreteVariables->{vspec1,vspec2,} 可用于指定离散变量的范围.
  • vspeci 的可能形式是:
  • vv 具有范围 Reals 或者 Complexes
    Element[v,Reals]v 具有范围 Reals
    Element[v,Complexes]v 具有范围 Complexes
    Element[v,Integers]v 具有范围 Integers
    Element[v,{n1,}]v 具有离散范围 {n1,}
    {v,vmin,vmax}v 具有范围 v_(min)<=v<=v_(max)
    vspeciactioni执行 actioni 当不再满足 vspeci
  • 几乎所有地方,关于时间的离散变量的导数都是零,并且不应该出现在方程中.
  • 对于偏微分方程,在线半离散化方法中,离散变量只取决于时间自变量.

范例

打开所有单元关闭所有单元

基本范例  (2)

求解 ,其中离散变量 在规则区间中随着时间改变:

求解 ,其中离散变量 穿过 0 时改变:

范围  (7)

在规则时间区间中,增加一个离散变量:

当解穿过0时,增加离散变量:

当解穿过0时,同时修改多个离散变量:

这次,规定在修改 之前 的改动:

当离散变量超出离散范围 {1,2,3} 时停止积分:

当离散变量超出连续范围 时停止:

当超出范围时,显示信息,但是继续对方程积分:

初始条件也超出范围:

离散变量可以采用非数值值:

通过是行动 "DiscontinuitySignature",允许滑动模式解:

绘制向量场和解的图线:

当解位于滑动模式,离散变量 的值是 0:

设置不连续状态变量 ,当 达到滑动不连续曲线 :

应用  (5)

在使用离散变量的微分方程的两个右侧之间切换:

建立在多个右边之间切换的微分方程:

模拟弹跳球步骤:

绘制球的动能、势能和总能量:

模拟系统 ,使用离散时间控制器 进行稳定性处理:

改变波动方程中的波速 ,其中

属性和关系  (1)

NDSolve 自动处理费连续函数,以使用离散变量的 Sign 相同的方式:

使用离散变量下的 "DiscontinuitySignature" 来模拟 Sign 函数:

可能存在的问题  (3)

当离散变量超出范围时,显示一条消息并且积分停止:

离散变量的导数无法出现在传递给 NDSolve 的方程中:

使用 "DiscontinuitySignature" 操作的离散变量的范围必须是 {-1,0,1}

如果范围是 {-1,1},不会找到滑动模式的解:

对于滑动模式解,指定范围为 Element[a,{-1,0,1}]

Wolfram Research (2012),DiscreteVariables,Wolfram 语言函数,https://reference.wolfram.com/language/ref/DiscreteVariables.html.

文本

Wolfram Research (2012),DiscreteVariables,Wolfram 语言函数,https://reference.wolfram.com/language/ref/DiscreteVariables.html.

CMS

Wolfram 语言. 2012. "DiscreteVariables." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/DiscreteVariables.html.

APA

Wolfram 语言. (2012). DiscreteVariables. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/DiscreteVariables.html 年

BibTeX

@misc{reference.wolfram_2024_discretevariables, author="Wolfram Research", title="{DiscreteVariables}", year="2012", howpublished="\url{https://reference.wolfram.com/language/ref/DiscreteVariables.html}", note=[Accessed: 15-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_discretevariables, organization={Wolfram Research}, title={DiscreteVariables}, year={2012}, url={https://reference.wolfram.com/language/ref/DiscreteVariables.html}, note=[Accessed: 15-November-2024 ]}