Python Scipy 优化 curve_fit

2 投票
1 回答
1423 浏览
提问于 2025-04-18 13:25

我有两个numpy数组,分别叫做x和y,我想给这些数据拟合一条曲线。这个拟合的函数是一个指数函数,里面有两个参数a和t,还有另一个numpy数组ex。

import numpy as np
import scipy
import scipy.optimize as op

k=1.38e-23
h=6.63e-34
c=3e8

def func(ex,a,t):
    return a*np.exp(-h*c/(ex*1e-9*kb*t))

t0=300 #initial guess
print op.curve_fit(func,x,y,t0)

1 个回答

3

你最开始的猜测应该包含两个值,比如 t0=(300, 1.),因为你有两个需要调整的参数(at)。

你需要先定义你想要拟合的点,也就是说在调用 curve_fit() 之前,要先定义好 xy 的值。

撰写回答