Python scipy leastsq高斯拟合赢得';除非给出期望值,否则不能工作

Python scipy leastsq高斯拟合赢得';除非给出期望值,否则不能工作,python,scipy,gaussian,least-squares,Python,Scipy,Gaussian,Least Squares,我有一些数据,当我给拟合一个期望值时,它会正确地将高斯拟合到我的数据中。如果我不给它期望值,它会在我的数据上画一条水平线(拟合不起作用) 我之所以希望在没有期望值的情况下得到适合工作的拟合,是为了能够比较峰值位置的差异 编辑: 期望值“expect”是具有最高y值(我的数据峰值)的x位置 如果我不使用期望值,我将强制高斯分布在绘图的中心 xdata[29] 其中29是我的数据中的中心存储箱(总共60个存储箱)。当我这样做的时候,我得到了一条平线。我希望这种拟合会更糟,但它会给我一些高斯型拟合

我有一些数据,当我给拟合一个期望值时,它会正确地将高斯拟合到我的数据中。如果我不给它期望值,它会在我的数据上画一条水平线(拟合不起作用)

我之所以希望在没有期望值的情况下得到适合工作的拟合,是为了能够比较峰值位置的差异

编辑:

期望值“expect”是具有最高y值(我的数据峰值)的x位置

如果我不使用期望值,我将强制高斯分布在绘图的中心

xdata[29]

其中29是我的数据中的中心存储箱(总共60个存储箱)。当我这样做的时候,我得到了一条平线。我希望这种拟合会更糟,但它会给我一些高斯型拟合

为什么不将输入数据的期望值初始化为argmax呢?如果允许高斯分布的振幅为零,那么仍然可以得到一条平线。我仍然不明白为什么您不想使用
argmax(ydata)
初始化您的fit。
xdata[29]