SymPy - 替换



对数学表达式执行的最基本的操作之一就是替换。SymPy 中的 subs() 函数用第二个参数替换第一个参数的所有匹配项。

>>> from sympy.abc import x,a 
>>> expr=sin(x)*sin(x)+cos(x)*cos(x) 
>>> expr

上述代码片段产生的输出等效于以下表达式 −

$\sin^2(x)+\cos^2(x)$

>>> expr.subs(x,a)

上述代码片段产生的输出等效于以下表达式 −

$\sin^2(a)+\cos^2(a)$

如果我们要对某个表达式求值,则此函数非常有用。例如,我们希望通过用 a 代换 5 来计算以下表达式的值。

>>> expr=a*a+2*a+5 
>>> expr

上述代码片段产生的输出等效于以下表达式 −

$a^2 + 2a + 5$

expr.subs(a,5)

上述代码片段产生的输出如下 −

40

>>> from sympy.abc import x 
>>> from sympy import sin, pi 
>>> expr=sin(x) 
>>> expr1=expr.subs(x,pi) 
>>> expr1

上述代码片段产生的输出如下 −

0

此函数还用于将子表达式替换为另一个子表达式。在以下示例中,b 被 a+b 替换。

>>> from sympy.abc import a,b 
>>> expr=(a+b)**2 
>>> expr1=expr.subs(b,a+b) 
>>> expr1

上述代码片段产生的输出等效于以下表达式 −

$(2a + b)^2$

广告