2
指數函數我有以下的「分數」的功能,這意味着給予一定的測量0和一之間的比分,看起來像:曲線擬合使用SciPy的
def func(x, a, b):
return 1.0/(1.0+np.exp(-b*(x-a)))
我想,以適應它下面的X和Y大牙:
x = np.array([4000, 2500, 2000, 1000, 500])
y = np.array([ 0.1, 0.3, 0.5, 0.7, 0.9])
但curve_fit
似乎並不工作:
popt, pcov = curve_fit(func, x, y)
當我試圖用線性函數擬合它時,curve_fit
給出了一個很好的擬合(綠色線),但是使用上面的指數函數,只給出了a=1
和b=1
,這不是一個好的擬合。一個好的擬合應該是a=1800
和b=-0.001667
,它給出了紅線(藍色的數據)。
你能否提供更多的代碼的一個位,其中包括陰謀?那麼其他人更容易幫忙。 – Philipp