1.1.6 使用SymPy進行函數運算
在Python和Matlab等軟件中,科學計算分為數值計算和符號計算。數值計算是使用數字計算機以數值為運算對象求數學問題近似解的方法與過程,計算結果是數值。NumPy是Python中的數值計算庫。
【例1-9】 計算當時,函數y=3sin x的值。(代碼:ch1函數與極限\1.1函數\例1-9)

運行結果:
3.0
符號計算又稱“計算機代數”,以符號對象和符號表達式作為運算對象,運算結果為解析式。使用符號計算可以進行因式分解、多項式化簡、微分和積分等運算。SymPy是Python的一個符號計算庫。
使用SymPy求解上一個例題。

運行結果:
3*sin(x)
下面介紹SymPy的安裝與基本函數運算。
(1)安裝SymPy。可以使用pip命令安裝SymPy庫。
>pip install sympy
(2)導入SymPy??梢允褂靡韵聝煞N方式導入SymPy庫或者其中的所有方法。

(3)創建符號。在運算之前先要使用Symbol()或symbols()定義運算中所需的一個或者多個符號。

(4)使用符號進行運算,如化簡、因式分解等。

運行結果:

(5)使用subs()方法求函數值。
1. y = x**2+3*x-6 2. print(y.subs(x, 1))
運行結果:
-2
【例1-10】 化簡f(x)=sin4x-2sin2xcos2x+cos4x,并計算。(代碼:ch1函數與極限\1.1函數\例1-10)

運行結果:
化簡后的函數:cos(4*x)/2 + 1/2 f(pi/3)= 1/4
為了方便計算,SymPy內置了許多常用的常數與函數,如表1-2所示。
表1-2 SymPy中常用常數和方法

需要注意的是,在符號計算時必須使用SymPy中的函數,如果使用數值計算庫NumPy中的對應函數,系統會報錯。比較下面兩組代碼的運行結果。(代碼:ch1函數與極限\1.1函數\scipy與numpy運算比較。)

運行結果:
2

運行結果:
