为了账号安全,请及时绑定邮箱和手机立即绑定

为什么curve_Fit来自 scipy.optimze 在这段代码中表现得很奇怪?

为什么curve_Fit来自 scipy.optimze 在这段代码中表现得很奇怪?

慕勒3428872 2022-09-13 10:13:36
我在一段非常简单的代码中遇到了这个奇怪的问题。我看过无数的例子,它们似乎都工作正常,但由于某种原因,我的没有......我试图实现的是设置回归模型绘制开始的点。我希望它是,比如说5000,而不是零。在另一端,它工作正常,即如果我将回归设置为在期望点结束,它会,但是从零以外的任何其他点开始都不起作用。如果我将“start” xFit1 设置为非零值,则缩放将变得很奇怪,而绘图的开头仅保持为零。可能发生了什么,任何想法?AVG_PNTSx = []u = 0p = 0S_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-arrayfor i in range(len(AVG_PNTSy)):    u = (i*20001)+10000    AVG_PNTSx.append(u)#Exp Regressiondef 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)#Plotsp3, = plt.plot((func(xFit1,*popt)))plt.plot(AVG_PNTSx,AVG_PNTSy,"ro")  
查看完整描述

1 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

当你做绘图时,你忘了把X。


解决方案:


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


#Plots

p3, = plt.plot(xFit2,(func(xFit2,*popt)))

plt.plot(AVG_PNTSx,AVG_PNTSy,"ro")

//img1.sycdn.imooc.com//631fe7690001e75903910248.jpg

查看完整回答
反对 回复 2022-09-13
  • 1 回答
  • 0 关注
  • 115 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信