python - 为什么 scipy.optimize.curce 拟合函数不能正确拟合数据点,为什么要给出较大的 pfit 值?
问题描述
在以下代码中,为什么拟合函数会给出较大的 pfit 值以及为什么它不能正确拟合数据点。我的拟合功能有什么问题吗?
L = np.array([12,24,36,48])
Ec_L =np.array([-2.21173697, -2.01880398, -1.96508108, -2.0691906 ])
def ff(L,a,v,Ec):
return (a*L**(-1.0/v))+Ec
x_data = 1.0/L
y_data = Ec_L
plt.scatter(x_data, y_data, marker='.', color='orange')
pfit,pcov = optimize.curve_fit(ff,x_data,y_data)
print("pfit: ",pfit) #pfit: [ 563.99154975 4377.13071157 -566.48046716]
print(pcov)
plt.plot(x_data, ff(L,*pfit), marker='.', color='red')
解决方案
推荐阅读
- xslt - 在 PI XSLT 映射中将 xml 字段转换为键/值对
- chef-infra - 通过 Inspec 实现基础设施合规性
- hadoop - 如何使用大数据从两个电子表格中的数据中给出 if 语句的结果?
- javascript - 根据文件名激活引导导航栏项目?
- python - 查找另一行是否存在列元素的组合
- ruby-on-rails-5 - 覆盖 Rails 生成器以将 date_select 更改为 date_field
- javascript - 跟踪嵌入 html 元素的 URL 更改
- angular - ContactListComponent.html:1 ERROR 错误:未找到 ContactComponent 的组件工厂。你把它添加到@NgModule.entryComponents 了吗?
- javascript - 如何创建具有水平和垂直滚动条的固定列的基于 div 的表?
- javascript - 是否可以在不使用事件的情况下检查 CSS 转换是否完成?