我是python的新手,我正在努力学习如何绘制和拟合数据。我有一个描述函数y(x)的经验公式,我想把它拟合成指数形式:y= a* x^b
我正在使用numpy.arrays,但我不确定numpy.polyfit在这里是否有用,因为我不想拟合高阶多项式,也不想拟合以下形式的指数:y=a*e^ (b*x)。
你能建议一种这样做的方法吗?
我的函数就是这个,这里写成y (E_n):
E_n = np.linspace(1, 10**6, 10**6)
y= 0.018*(E_n**(-2.7)) * (1/(1+(2.77*cos(45)*E_n/115)) + 0.367/(1+(1.18*cos(45)*E_n/850)))谢谢
发布于 2020-05-26 18:58:02
考虑使用scipy.optimize.curve_fit。定义所需形式的函数,并将其传递给该函数。请仔细阅读链接的文档。在许多情况下,您可能需要传递为参数选择的初始值。默认情况下,curve_fit会将所有参数都设为1,这可能不会产生理想的结果。
https://stackoverflow.com/questions/62019269
复制相似问题