使用Python查找最佳拟合参数

SiX*_*Ulm 5 python parameters reference curve-fitting python-2.7

有了这个直方图后,

在此输入图像描述

我想用卡方分布拟合,其pdf为:

在此输入图像描述

其中beta是可变的,d1和beta_zero是2个参数.

我的问题是:如何使用Python直方图找到最合适的参数?

更新:我知道,我需要使用curve_fitscipy.optimize.我的xdatamatrix_beta,以矩阵的形式,其元素是贝塔.然后我func(beta,beta_zero,d1)在公式中定义一个函数.然后如何进行ydata

sza*_*rad 1

例如,您可以使用 scipy 包,如下所示:

import numpy,math 
import scipy.optimize as optimization import
matplotlib.pyplot as plt 
xdata = numpy.array([0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5])#your x coordinate
ydata = numpy.array([25.,40.,22.,12.,8.,3.,1.,1.,0.0,0.0])#your y coordinates 
x0 = numpy.array([0.0, 0.0]) 
sigma = numpy.array([1.0,1.0,1.0,1.0,1.0,1.0])#your errors, e.g. sqrt()
def func(d1, Bo):
    return d1*Bo    #definition of your function 
print optimization.curve_fit(func, xdata, ydata, x0, sigma) #result
Run Code Online (Sandbox Code Playgroud)

您可以在此处查看更多信息http://python4mpia.github.io/fitting_data/least-squares-fitting.html