【发布时间】:2021-08-21 17:02:09
【问题描述】:
这是我的第一篇文章,所以请不要太苛刻 如果信息不完善。
我是 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, a, b, n_max),
x_data,
y_data)
它给了我错误: 它给了我错误“TypeError:只有 size-1 数组可以转换为 Python 标量”。 我知道这个错误意味着什么,但我不知道如何更正我的代码。
这里有两个问题需要解决:
- 我需要计算一个总和.... 尽管 Stack 上有几个示例,但我不知道如何处理它。能用几行字来解释就太棒了。
- 参数“a”和“n”应该是我将根据具体情况提供的固定值。所以不应该为他们做任何优化。 (这应该使用 curve_fit 中的 lambda 来解决。)
任何提示或示例解决方案都将不胜感激......干杯
【问题讨论】:
-
欢迎来到 SO,您的帖子看起来不错。如果您想提高帖子质量,可以阅读stackoverflow.com/help/how-to-ask。
-
嗨@blondelg,谢谢...我会看一下链接,我会整理帖子....
标签: python scipy sum curve-fitting exponential