Python Scipy.minimize

Python Scipy.minimize,python,numpy,scipy,Python,Numpy,Scipy,我正在尝试绘制高斯数据,并使用optimize.minimize来拟合数据。我不知道如何使用正确的语法。我在顶部也有一些import语句,但不能全部包含 这是我的密码: def gaussian(x, amp, cen, wid): return amp * exp(-(x-cen)**2 / wid) # plt.plot(gaussian) def func(x): y = gaussian(A*np.exp(-((x-m)**2)/s)) SSR = sum((

我正在尝试绘制高斯数据,并使用optimize.minimize来拟合数据。我不知道如何使用正确的语法。我在顶部也有一些import语句,但不能全部包含

这是我的密码:

def gaussian(x, amp, cen, wid):
     return amp * exp(-(x-cen)**2 / wid)
# plt.plot(gaussian)

def func(x):
    y = gaussian(A*np.exp(-((x-m)**2)/s))
    SSR = sum((ym -yi)**2)
    return y
    return SSR
           

#Plotting the Data?
xData = np.array( -1.00000000e+01, -3.92279632e-01,
 -9.50000000e+00, 2.00966175e+00,
 -9.00000000e+00, 2.08241518e-01,
 -8.50000000e+00, -3.36706611e-01,
 -8.00000000e+00, 1.11537572e+00,
 -7.50000000e+00, 9.26976382e-01,
 -7.00000000e+00, 3.05274345e-01,
 -6.50000000e+00, 2.60242582e-01,
 -6.00000000e+00, -2.49181653e-01,
 -5.50000000e+00, -7.55386727e-01,
 -5.00000000e+00, 1.91907066e+00,
 -4.50000000e+00, 1.36470577e+00,
 -4.00000000e+00, 7.31034334e-01,
 -3.50000000e+00, 1.29051568e-01,
 -3.00000000e+00, -5.06920698e-01,
 -2.50000000e+00, 1.04596875e+00,
 -2.00000000e+00, 1.64995850e+00,
 -1.50000000e+00, 1.51151027e+00,
 -1.00000000e+00, 4.35913397e-01,
 -5.00000000e-01, 1.02548194e+00,
 0.00000000e+00, 2.33275918e+00,
 5.00000000e-01, 5.12906627e+00,
 1.00000000e+00, 7.72143813e+00,
 1.50000000e+00, 1.01597888e+01,
 2.00000000e+00, 9.39327321e+00,
 2.50000000e+00, 7.67893368e+00,
 3.00000000e+00, 7.99607090e+00,
 3.50000000e+00, 5.46682973e+00,
 4.00000000e+00, 2.50825722e+00,
 4.50000000e+00, 6.79249961e-01,
 5.00000000e+00, 7.25456600e-01,
 5.50000000e+00, 8.89093746e-01,
 6.00000000e+00, -1.06137547e+00,
 6.50000000e+00, 5.93540809e-01,
 7.00000000e+00, -1.60204014e-01,
 7.50000000e+00, -8.73561328e-02,
 8.00000000e+00, -1.01474434e+00,
 8.50000000e+00, -2.95976512e-01,
 9.00000000e+00, 1.07794452e+00,
 9.50000000e+00, 1.84586188e+00,
 1.00000000e+01, 1.21108660e+00,
)    
yData = np.array([1, 9, 50, 300, 1500])

plt.plot(xData, yData, 'bo', label= 'experimental data' )

您在func中对gaussian的调用至少与您在上面定义它的方式不同。