from scipy.optimize import curve_fit
import numpy as np
import matplotlib.pyplot as plt
# Model function
def f(x, a, b):
return a * x + b
# Example data
x = np.linspace(0, 10, 20)
y = f(x, 0.2, 3.4) + 0.2 * np.random.normal(size=len(x))
# Do the fit
popt, pcov = curve_fit(f, x, y, [1.0, 1.0])
我只想把这两个问题都回答清楚。这是两个独立的问题:将函数拟合到直方图数据,然后绘制函数。首先,scipy有一个optimization module,您可以使用它来适应您的函数。其中{a2}可能是最简单的。在
举个例子
从
curve_fit
得到优化的参数a, b
到函数f
和统计协方差。您还可以将统计权重的错误作为sigma
传递给它。在现在您可以绘制数据和直方图。我想对曲线使用更高的分辨率是有意义的。在
^{pr2}$在这里,我没有专门处理直方图或Lennard-Jones势函数来限制代码的复杂性,并将重点放在您所询问的部分上。但是这个例子可以适用于任何类型的最小二乘优化问题。在
相关问题 更多 >
编程相关推荐