2012-03-16 63 views
3

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

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可以简化表达式?

回答

4

如果指定AssumptionsIntegrate里面通常会评估更快:

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

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

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

这就减少了l/2