为Mathematica指定额外信息以简化表达式

时间:2012-03-16 22:30:48

标签: wolfram-mathematica constraints symbolic-math

有时,我们知道某些变量是正数,或自然数,或者是真实的,它有助于简化表达式。例如,

Integrate[Sign[x], {x, -l/2, l}]

评估为

ConditionalExpression[
 1/2 l (-3 + 6 DiscreteDelta[l] + 2 HeavisideTheta[-l] + 
 4 HeavisideTheta[l]), l \[Element] Reals]

但如果我知道l是一个真正的正数,我实际上是在看-l / 2。有没有办法指定这个额外的信息或约束,以便Mathematica可以简化表达式?

2 个答案:

答案 0 :(得分:4)

如果您在Integrate

中指定Assumptions,通常会更快地评估
Integrate[Sign[x], {x, -l/2, l}, Assumptions -> l > 0]

答案 1 :(得分:3)

我找到了答案,你可以指定假设,例如

Simplify[Integrate[Sign[x], {x, -l/2, l}], l > 0]

减少到l/2