h, edges = np.histogram(sacc_pick_df['ampl'], bins='auto') p = (h.max()-h)出现Parameter 'initial' unfilled报错
时间: 2023-12-22 19:04:03 浏览: 123
edges-master.rar_7FN_Edge Boxes_wnn_检测仿真_边缘检测
这个错误信息的来源可能是您正在使用 `scipy.optimize.curve_fit` 函数来拟合数据,并且参数 `p0`(即初始值)没有被正确地指定。
在您的代码中,`p` 变量似乎是由 `h` 计算而来,但是我并没有看到任何 `curve_fit` 函数的调用。因此,我猜测您可能的代码如下:
```
import numpy as np
from scipy.optimize import curve_fit
h, edges = np.histogram(sacc_pick_df['ampl'], bins='auto')
p0 = (h.max() - h)
# 使用 curve_fit 函数拟合数据
popt, pcov = curve_fit(func, xdata, ydata, p0)
```
这里的问题在于,`p0` 的值应该是一个数组,而不是一个标量。因此,您需要将 `p0` 改成一个数组,例如:
```
import numpy as np
from scipy.optimize import curve_fit
h, edges = np.histogram(sacc_pick_df['ampl'], bins='auto')
p0 = np.array([h.max() - h.mean(), h.mean()])
# 使用 curve_fit 函数拟合数据
popt, pcov = curve_fit(func, xdata, ydata, p0)
```
这里,`p0` 是一个长度为 2 的数组,其中第一个元素是 `h.max() - h.mean()`,第二个元素是 `h.mean()`。这些值可以根据您的实际需求进行调整。
阅读全文