2017-02-06 13 views
0

これは簡単な質問かもしれませんが、私はその周りを頭で囲むことはできません。 Say、f(x)が与えられたxの計算値

nb = 100 
tb = 25 
ns = 90 
ts = 15 
A0 = 1 
S_norm = 0.4 


R = tb/ts 
y_meas = (ns-nb/R)/A0 
sigma_meas = np.sqrt(ns+(nb+1)/R**2)/A0  
def likelihood(y): 

    def func_likelihood(x): 
     return np.exp(-0.5*(((x/A0)/S_norm)**2 + ((y-y_meas*A0/np.exp(x))/sigma_meas)**2)) 

    return (scipy.integrate.quad(func_likelihood,-10,10))[0] 

尤度(y)が0.025となるようなyの値を簡単に判別する方法はありますか?

+0

あなたは 'func_likelihood'を意味ですか? –

+0

@ScottHunter、いいえ、尤度(y)。 – DPdl

+0

本当にあなたの質問は、この機能がバイジェクションかどうかです。 – miradulo

答えて

3

scipy.optimize.fsolveを試しましたか?

from scipy.optimize import fsolve 


def func(y): 
    return likelihood(y) - 0.025 

print(fsolve(func, 0)) 

結果:

[-7.3920919] 
+0

ありがとう!ちょうど私が探していたもの! – DPdl

関連する問題