【发布时间】:2019-04-19 04:15:06
【问题描述】:
我试图通过更改两个参数(e 和A)来拟合曲线。通过分配n0=0.395 绘制目标曲线,但其实际值为0.0395。所以我希望通过改变e和A来达到同样的曲线。
import numpy as np
from scipy.optimize import curve_fit
def func(x,e,A):
return A*(e+x)**0.0395
strain = np.linspace(0,15,3000) # variable
e = 0.773
A = 386.5
n0 = 0.395
y = A*(e+strain)**n0 # target to minimize
popt, pcov = curve_fit(func, strain, y)
但是,我在运行代码后经常收到此警告:
RuntimeWarning: invalid value encountered in power
return A*(e+x)**0.0395
我想知道为什么会发生这种情况以及应该如何改进代码?
【问题讨论】:
标签: python scipy curve-fitting data-fitting