積分是數學中常用的一種運算,Python可以通過NumPy和SciPy等庫來實現積分計算。其中,SciPy庫中的quad函數可以用于數值積分,trapz和simps函數可以用于數值積分的計算及數值積分結果圖形展示。
下面是一個使用quad函數計算數值積分的例子:
import numpy as np
from scipy.integrate import quad
def integrand(x):
return np.exp(-x ** 2)
result, error = quad(integrand, -np.inf, np.inf)
print(f"Result: {result:.6f}, Error: {error:.6f}")
上述代碼中定義了一個指數函數,然后使用quad函數進行數值積分計算,最后將積分結果輸出。
接下來是一個使用trapz函數和simps函數計算數值積分并繪制函數圖像的例子:
import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import trapz, simps
x = np.linspace(0, 2 * np.pi, 20)
y = np.sin(x)
# 使用trapz函數計算數值積分
print(f"Trapz result: {trapz(y, x):.6f}")
# 使用simps函數計算數值積分
print(f"Simps result: {simps(y, x):.6f}")
# 繪圖展示函數及數值積分結果
plt.plot(x, y)
plt.fill_between(x, y, 0, alpha=0.2)
plt.title("sin(x) function")
plt.xlabel("x")
plt.ylabel("y")
plt.grid()
plt.show()
上述代碼中先定義了一個正弦函數,然后使用trapz和simps函數分別進行數值積分計算,最后使用matplotlib庫將函數及數值積分結果進行圖形化展示。