0
我試圖用scipy curve_fit對我的數據進行多元對數迴歸,結果期望得到一條線,但得到一條曲線。 這裏是我使用的代碼:scipy的curve_fit沒有收到預期的結果
Quercetin=[23,195,6,262,272,158,79,65,136,198]
Naringenin=[11,4,8,6,6,7,6,9,7,9]
Rutin=[178,165,93,239,202,3325,4427,7607,3499,1762]
TEAC=[23,189,37,265,290,267,362,388,364,321]
import matplotlib.pyplot as plt
import scipy
from scipy.optimize import curve_fit
import numpy as np
def func(x, a, b, c, d,e):
m=np.log(a*x[0]+b*x[1]+c*x[2])
return d*(m)+e
x=scipy.array([Quercetin, Naringenin,Rutin])
y=scipy.array(TEAC)
popt, pcov = curve_fit(func, x ,y)
print (popt)
plt.plot(func(x,*popt),y,'ro-')
plt.show()
,而我想要得到的東西是這樣的:
任何人都可以請給我我做錯了什麼暗示? 如果這個問題我使用Windows 10上的蟒蛇Python 3.0。
謝謝。我真的忽視了我用來繪製的方式將被繪製點連線!但是,在我看來,將繪製一條簡單的y = x線,而我想繪製curve_fit擬合的線。 –