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$