簡體   English   中英

sympy:表達簡化

[英]sympy : expression simplification

我從sympy python lib開始。

如果,我有這個表達

from sympy.abc import a,b,c,p,q
e = p * ( a + b ) + q * ( a + c )

我如何使用a,b,c作為因子? 喜歡

a(p+q) + b*p + c*q
from sympy.abc import a,b,c,p,q
from sympy import collect, expand
e = p * ( a + b ) + q * ( a + c )

print e
print expand(e)
print collect(expand(e),a)

collect確實是你想要的功能。 您可以將多個符號作為集合變量傳遞以收集它們。 正如你所注意到的那樣, collect不會首先擴展你的表達,所以如果你想要,你必須自己做expand

In [15]: collect(e.expand(), [a, b, c])
Out[15]: a⋅(p + q) + b⋅p + c⋅q

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM