【发布时间】:2015-03-02 23:24:50
【问题描述】:
我正在使用此代码来曲线拟合一些数据:
def extract_parameters(Ts, ts):
def model(t, Ti, Ta, c):
return (Ti - Ta)*math.e**(-t / c) + Ta
popt, pcov = cf(model, Ts, ts, p0 = (10, 6, 7))
Ti, Ta, c = popt
maxx = max(Ts)
xfine = np.linspace(0, maxx, 101)
print "xfine: ", xfine
yfitted = model(xfine, *popt)
print "yfittted", yfitted
pl.plot(Ts, ts, 'o', label = 'data point')
pl.plot(xfine, yfitted, label = 'fit')
pylab.legend()
pylab.show()
return Ti, Ta, c
当我进入时:
extract_parameters([1,2,3,4,5,6],[100,60,50,40,45,34])
我很适合
但是当我进入时:
extract_parameters([1,2,3,4,5,6,7],[100,80,70,65,60,58,56])
我得到了这个
谁能明白为什么?曲线拟合急剧变化?
【问题讨论】:
标签: python