【发布时间】:2019-12-05 21:42:06
【问题描述】:
我目前遇到以下问题: 我想使用curve_fit进行以下拟合:
def fit_fun(x,c,gamma,B):
return (c/3.)*np.log((60./pi)*np.sin(pi
*x/60.)+ gamma+B*v[x]
popt, pcov = curve_fit(fit_fun,range(1,60),entropy)
其中 v 和熵是给定的列表,我希望 c、gamma、B 是浮点标量。
我得到的错误信息如下:
"只有整数标量数组可以转换为标量索引"
据我了解,问题是由于curve_fit的实现在某个点将输入视为数组,在定义的最后一项中不能将其用作索引功能。 我不知道如何摆脱这种明显的矛盾,因为 x 一开始是整数,然后在拟合过程中进入数组。
【问题讨论】:
-
尝试分享您的列表内容和您用来使您的示例可重现的变量内容
-
列表 v,entropy 可以是任何长度为 59 的浮点数列表,我从输入文件中提取它们,但是任何这种类型的列表都应该可以检查它是否适合数据。 Pi 只是 3.14...
标签: python curve-fitting scipy-optimize