2012-03-16 45 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