如何在mathematica中简化以下表达式

时间:2011-01-22 04:07:01

标签: wolfram-mathematica

我有以下内容:

(p^a q (-1 + q^b))/(-p^a q - q^b + p^a q^b + q^(1 + b))

我想做两件事:

1)numberator和分母因子pq因此可以取消

2)强制-1 + q^b显示为1 - q^b

3)我还需要通过合并-q^b+q^(1+b)=q^b(1-q)以及1-q->p

来进一步简化分母

感谢您的帮助和建议。

1 个答案:

答案 0 :(得分:1)

对于第二个,你可以这样做:

expr = (p^a q (-1 + q^b))/(-p^a q - q^b + p^a q^b + q^(1 + b)) //. 
       {x__ (-1 + q ^b) -> -x (1 - q^ b)}  

输出:

-((p^a*q*(1 - q^b))/(-(p^a*q) - q^b + p^a*q^b + q^(1 + b)))

至于第一个,我看不出任何收获......

HTH!

修改

回答你的评论:

我仍然不确定你想要通过第一次转换实现什么,但这是一次尝试:

Numerator@expr/q/Collect[Distribute[Denominator@expr/q], q^(b - 1)]  

(p^a (1 - q^b))/(-p^a + (-1 + p^a) q^(-1 + b) + q^b)

alt text

无论如何,我认为必须发出警告:迫使Mathematica以“优雅”的方式显示结果对于大型表达式来说非常棘手。我建议你只有在掌握了Mma之后才能学会如何做到这一点。然后,作为简单练习开始,您可以尝试几种方法强制Mma展示

-1+a

as

 a-1