0
我有以下功能:Python的劇情的積分與離散和連續參數
def sbeta(beta,gamma,y):
k = 2/(np.pi)**2.
return k * np.sqrt(1 - (np.sqrt(1-y**2.)*np.sin(beta)*np.cos(gamma) - y*np.cos(beta))**2.)
其中的β爲常數,y是在-1和1之間定義爲:
beta = 23.4
y = numpy.linspace(-1, 1, 100)
欲繪製該函數對於從0到2pi評估的伽瑪的積分:
def integral(beta,gamma,y):
for i in range(len(y)):
I = integrate.quad(sbeta, 0., 2*np.pi, args=(beta, y[i]))
print(I)
plt.plot(y[i],I[0])
gamma = np.linspace(0., 2*np.pi, 10)
integral(beta,gamma,y)
plt.show()
此時沒有錯誤,但我不認爲這是正確的。我想計算gamma作爲從0到2pi的變量的積分,但y是一個離散數組。如何從-1和1計算並繪製10 y值?我應該使用scipy.integrate.cumtrapz嗎?