簡體   English   中英

為什么 python 中的 scipy.optimze 中的 curve_Fit 在這段代碼中表現得很奇怪?

[英]Why curve_Fit from scipy.optimze in python acting weird in this code?

我用一段非常簡單的代碼遇到了這個奇怪的問題。 我看過無數的例子,它們似乎都運行良好,但出於某種原因,我的不......

我想要實現的是設置回歸模型繪圖開始的點。 我希望它是,比如說 5000,而不是零。 在另一端它工作正常,即如果我將回歸設置為在所需的點結束,它會,但從零以外的任何其他點開始都不起作用。 如果我將“start”xFit1 設置為非零值,縮放會變得很奇怪,而繪圖的開頭只是保持為零。 可能發生了什么,有什么想法嗎?

AVG_PNTSx = []
u = 0
p = 0
S_O = False

#Array creation

#Add each sample preparation result here manually:  
AVG_PNTSy = [14, 30, 64, 130, 300, 400, 1220, 2660, 4939, 10100, 10600, 10900, 10000, 22150, 45000]

#Auto creation of x-array based on y-array
for i in range(len(AVG_PNTSy)):
    u = (i*20001)+10000
    AVG_PNTSx.append(u)

#Exp Regression

def func(x,a,b):
    return a*np.exp(b*x)

xFit1 = np.arange(start,300000,1)

init_guess = [1,0.00001]

popt, pcov = curve_fit(func, AVG_PNTSx, AVG_PNTSy,init_guess)

#Plots
p3, = plt.plot((func(xFit1,*popt)))
plt.plot(AVG_PNTSx,AVG_PNTSy,"ro")  

提前致謝!

當您進行繪圖時,您會忘記放置 X。

一個辦法:

xFit2=np.arange(50000, 300000, 1)

#Plots
p3, = plt.plot(xFit2,(func(xFit2,*popt)))
plt.plot(AVG_PNTSx,AVG_PNTSy,"ro")

在此處輸入圖片說明

暫無
暫無

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

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