如何解决使用 scipy (curve_fit)
这是我的第一篇文章,所以请不要太苛刻 如果信息不完善。
我是 scipy 的普通用户,我通常用它来拟合.... 我看到有人问过类似的问题,但我真的无法得到 我的头脑围绕这个问题....
这是我试图拟合的函数的(简化版本):
(这里的总和是最大 n 的奇数)
和我的代码:
def func(x,a,b,n_max):
y = 0
for n in np.arange(1,n_max,2):
y =+ 2*a + 4*np.pi * (1/(n*a))*math.exp(n*b*x)
return y
a = 10
n_max = 20
parameters,covariance = curve_fit(lambda x,b: func(x,n_max),x_data,y_data)
它给了我错误: 它给了我错误“类型错误:只有大小为 1 的数组可以转换为 Python 标量”。 我知道这个错误意味着什么,但我不知道如何更正我的代码。
- 我需要计算一个总和....尽管 Stack 上有几个例子,但我不知道如何处理它。用几行来解释它会很棒。
- 参数“a”和“n”应该是我将根据情况提供的固定值。所以不应该对它们进行优化。 (这应该在 curve_fit 中使用 lambda 来解决。)
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。