-5
我有一個pdf定義爲P(r,t)。我想在python中定義pdf,但是對於程序來說是新的,我不確定是否正確定義了它。這是我想要定義的pdf。 1函數定義正確嗎?
from scipy.special import gamma as G
def A(gamma, d):
return np.power(G((d + 2)/gamma)/(G(d/gamma)), (gamma/2))
def B(gamma, d):
return np.log(gamma * np.power(G((d + 2)/gamma), (d/2))/np.power(G(1/gamma), ((d + 2)/2)))
def dispersion(gamma, d, t, D):
return np.power((D * t), (2/gamma)) * g(gamma, d)
def pdf(gamma, d, r, t, D):
return (1/np.power(dispersion(gamma, d, t, D), (d/2))) * np.exp((-A(gamma, d) * np.power((r/np.sqrt(g(gamma, d))), gamma)) + B(gamma, d))
我試圖繪製PDF格式,但我不斷收到一個錯誤,所以我想確認我有什麼上面是正確的之前,我嘗試繼續前進。任何幫助,將不勝感激!另外,我使用G來表示伽馬函數,而伽馬來表示伽瑪變量。
其中誤差是來自:我創建了一個示例100x1000我讓伽瑪= 2並且d = 1爲了簡單起見
def pdf(gamma, d, r, t, D):
return (1/np.power(dispersion(gamma, d, t, D), (d/2))) * np.exp((-A(gamma, d) * np.power((r/np.sqrt(g(gamma, d))), gamma)) + B(gamma, d))
r = range(100)
t = range(1000)
gamma = 2
d = 1
D = 2
p = pdf(gamma, d, r, t, D)
plt.plot(r, p)
plt.show()
TypeError: unsupported operand type(s) for *: 'int' and 'range'
請發表完整的錯誤。 – Craig
我的錯誤來自這樣一個事實,即當我試圖繪製PDF時,我沒有定義我的變量,但我不確定PDF的支持是什麼。 – bazinga
如果你沒有顯示錯誤和導致錯誤的代碼,那麼沒有人能夠幫助你。 – Craig