簡體   English   中英

如何用 python 擬合指數 function

[英]How to fit exponential function with python

我是 python 的新手,我正在嘗試學習如何 plot 和擬合數據。 我有一個用於描述 function y(x) 的經驗公式,我想將其擬合為以下形式的指數:y = a* x ^ b

我正在使用 numpy.arrays 但我不確定 numpy.polyfit 在這里有用,因為我不想適應高階多項式,既不適合高階多項式,也不適合指數形式:

你能建議一種方法嗎?

我的 function 就是這個,這里寫成 y (E_n):

E_n = np.linspace(1, 10**6, 10**6)
y= 0.018*(E_n**(-2.7)) * (1/(1+(2.77*cos(45)*E_n/115)) + 0.367/(1+(1.18*cos(45)*E_n/850)))

謝謝

考慮使用scipy.optimize.curve_fit 定義您想要的形式的 function,將其傳遞給 function。 仔細閱讀鏈接的文檔。 在許多情況下,您可能需要為參數傳遞選定的初始值。 默認情況下, curve_fit將它們全部設為1 ,這可能不會產生理想的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM