python - scipy.optimize.curve_fit 返回 inf pcov
问题描述
我使用curve_fit来拟合一条非常简单的线,如下代码:
from scipy.optimize import curve_fit
def func(x, a, b):
return a * x + b
x = [6.6000000000000005, 7.599]
y = [123.9835274456227, 144.9319749893788]
popt, pcov = curve_fit(func,x,y,method='dogbox',p0=[20,-15])
print(popt) # get [ 20.96941696 -14.4146245 ]
print(pcov) # get [[inf inf], [inf inf]]
但是 pcov 结果是 inf。如何获得正确的 pcov 值?
解决方案
结果应该没有值,因为两点拟合曲线应该没有参数错误。所以参数的协方差为零。
推荐阅读
- python - 使用 lambda 根据其他行替换每个单元格中的值并应用 i python
- android - 如何在 onTouch() 中等待 n 毫秒?
- python - ValueError:无法将字符串转换为浮点数:(在python中)
- laravel-valet - Laravel Livewire - 502 错误网关
- python - 使用正则表达式拆分 aa 字符串中的括号
- node.js - 如何在使用 Google Oauth (passportjs) 的 React 应用程序上存储和验证
- java - 迭代 fastutil 原始 ArrayList 的最佳实践,例如 IntArrayList?
- java - Java 字符串格式化正则表达式模式
- python - 由于合并了 plotly.express,执行使用 tkinter 和 py2app 创建的 Mac 应用程序出现问题
- swift - 如何做一个 SwiftUI 的“一步一步”动画?