逻辑和分段函数
嵌套逻辑和分段函数可以像嵌套算术函数那样被展开. 可以通过使用 LogicalExpand 和 PiecewiseExpand 实现该功能.
展开逻辑和分段函数.
LogicalExpand 把逻辑表达式表示为标准的析取范式 (disjunctive normal form 或 DNF),由AND组成的OR表示.
默认情况下,
Mathematica 保持该表达式不变.
| Out[1]= |  |
| Out[2]= |  |
LogicalExpand 适用于所有逻辑函数,总是将其转换成标准的由AND组成的OR的形式. 有时候会产生不可避免的很大的结果.
| Out[3]= |  |
任何嵌套条件的集合总是可以有效地缩减为由一个单独的 Piecewise 对象组成的分段标准形. 在 Mathematica 中用户可以使用 PiecewiseExpand 实现.
默认情况下,
Mathematica 保持该表达式不变.
| Out[4]= |  |
| Out[5]= |  |
像 Max 和 Abs 这样的函数,以及 Clip 和 UnitStep,隐含地包括了条件语句,并且它们的组合可以使用PiecewiseExpand 简化成一个单独的 Piecewise 对象.
| Out[6]= |  |
| Out[7]= |  |
像 Floor、Mod 和 FractionalPart 这样的函数也可以使用 Piecewise 对象表示,虽然原则上它们可以包含无穷多的情况.
如果

上没有边界,这将产生
无穷多 的情况.
| Out[8]= |  |
默认地,Mathematica 限制了可以明确产生的在任何单独分段函数如 Floor 的计算过程的任何阶段中展开的情况的数目. 用户可以通过重设 $MaxPiecewiseCases 的值改变这一限制.