我希望你能爲我處理以下任務的一些有用的提示:如何解決使用Python的1參數方程
我寫了一些簡單的Python代碼片段繪製概率密度函數。在我的具體情況下,讓它們表示某些參數x
的類條件概率。
所以,我想知道是否有Python中的巧妙方法(即模塊)(可能通過NumPy或SciPy函數或方法)來解決參數x
的簡單公式。 例如,
pdf(x, mu=10, sigma=3**0.5)/pdf(x, mu=20, sigma=2**0.5) = 1
# get x
現在,我只能在這裏我使用類似 x = np.arange(0, 50, 0.000001)
,並保持x的值在產生1最接近 值向量的蠻力方法的東西計算比率pdf1/pdf2.
下面當代碼我寫以計算PDF並繪製比例:
def pdf(x, mu=0, sigma=1):
"""Calculates the normal distribution's probability density
function (PDF).
"""
term1 = 1.0/(math.sqrt(2*np.pi) * sigma)
term2 = np.exp(-0.5 * ((x-mu)/sigma)**2)
return term1 * term2
x = np.arange(0, 100, 0.05)
pdf1 = pdf(x, mu=10, sigma=3**0.5)
pdf2 = pdf(x, mu=20, sigma=2**0.5)
# ...
# ratio = pdf1/pdf2
# plt.plot(x, ratio)
謝謝!
聽起來你需要一本關於數值方法的書,而不是Python編程建議。這裏有一個提示 - 將方程改寫爲'[pdf(x,...)/ pdf(x ...)] - 1 = 0',並通過最小化或根發現來解決此問題。 – talonmies
我認爲如果你在一張紙上寫下方程式,你可以用數值方法直接解決這個問題。 – Evert
當然,但我想將它實現到Python代碼中,因爲我想直接用伴隨圖形繪製這些點。 – Sebastian