逻辑和分段函数

嵌套逻辑和分段函数可以像嵌套算术函数那样被展开. 可以通过使用 LogicalExpandPiecewiseExpand 实现该功能.

LogicalExpand[expr]展开 expr 中的逻辑函数
PiecewiseExpand[expr]展开 expr 中的分段函数
PiecewiseExpand[expr,assum]使用指定的假定展开

展开逻辑和分段函数.

LogicalExpand 把逻辑表达式表示为标准的析取范式 (disjunctive normal form 或 DNF),由AND组成的OR表示.

默认情况下,Mathematica 保持该表达式不变.
In[1]:=
Click for copyable input
Out[1]=
LogicalExpand 把该表达式展开为由AND组成的OR的式子.
In[2]:=
Click for copyable input
Out[2]=

LogicalExpand 适用于所有逻辑函数,总是将其转换成标准的由AND组成的OR的形式. 有时候会产生不可避免的很大的结果.

Xor 可以表示为由AND组成的OR的形式.
In[3]:=
Click for copyable input
Out[3]=

任何嵌套条件的集合总是可以有效地缩减为由一个单独的 Piecewise 对象组成的分段标准形. 在 Mathematica 中用户可以使用 PiecewiseExpand 实现.     

默认情况下,Mathematica 保持该表达式不变.
In[4]:=
Click for copyable input
Out[4]=
PiecewiseExpand 把该式变平,成为一个单独的 Piecewise 对象.
In[5]:=
Click for copyable input
Out[5]=

MaxAbs 这样的函数,以及 ClipUnitStep,隐含地包括了条件语句,并且它们的组合可以使用PiecewiseExpand 简化成一个单独的 Piecewise 对象.

这里给出单个 Piecewise 对象作为结果.
In[6]:=
Click for copyable input
Out[6]=
假定 为实数,上述式子也可以表示为一个 Piecewise 对象.
In[7]:=
Click for copyable input
Out[7]=

FloorModFractionalPart 这样的函数也可以使用 Piecewise 对象表示,虽然原则上它们可以包含无穷多的情况.

如果 上没有边界,这将产生无穷多 的情况.
In[8]:=
Click for copyable input
Out[8]=

默认地,Mathematica 限制了可以明确产生的在任何单独分段函数如 Floor 的计算过程的任何阶段中展开的情况的数目. 用户可以通过重设 $MaxPiecewiseCases 的值改变这一限制.

New to Mathematica? Find your learning path »
Have a question? Ask support »