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$

廣告
© . All rights reserved.