获取 ConditionalExpression 的条件

lok*_*oki 5 conditional wolfram-mathematica

给定一个条件表达式cE = ConditionalExpression[ Value, Condition ],我如何提取 的条件cE

我尝试建立索引,但这没有帮助。

Pic*_*ent 4

也许提供一个可以在更复杂的情况下使用的更清晰的版本会很有趣。

考虑ConditionalExpression官方文档示例

In[]:= ce = Integrate[x^n, {x, 0, 1}]
Run Code Online (Sandbox Code Playgroud)

输出如下:

                               1
Out[]= ConditionalExpression[-----, Re[n] > -1]
                             1 + n
Run Code Online (Sandbox Code Playgroud)

要提取条件,Re[n] > -1您可以使用:

In[]:= FirstCase[ce, ConditionalExpression[_, c_] :> c, Missing[], {0,-1}]
Run Code Online (Sandbox Code Playgroud)

打印:

Out[]= Re[n] > -1
Run Code Online (Sandbox Code Playgroud)

在您的评论中,您提到了嵌套表达式,使用之前的方法,这也将起作用。例如:

 In[]:= FirstCase[{{5, 6, ce, 1}}, ConditionalExpression[_, c_] :> c, Missing[], {0,-1}]
Run Code Online (Sandbox Code Playgroud)

仍然返回

Out[]= Re[n] > -1
Run Code Online (Sandbox Code Playgroud)

如果未找到该模式,该命令会轻轻返回Missing[]。例如Sin[6]

In[]:= FirstCase[Sin[6], ConditionalExpression[_, c_] :> c, Missing[], {0,-1}]
Run Code Online (Sandbox Code Playgroud)

输出是:

Out[]= Missing[]
Run Code Online (Sandbox Code Playgroud)