我正在尝试使用 scipy 导数模块查找函数的导数。不幸的是,我无法在没有 TypeError 的情况下将我的参数解析为函数:
def f(x, *arg):
beta = arg
y = -x + beta * np.tanh(x)
return y
param = (0,)
der_x0 = derivative(f, x0 = 0.0, dx = 1e-6, args = param)
输出:
TypeError: 'numpy.float64' object cannot be interpreted as an integer
最佳答案
beta
是元组类型(例如,尝试在 beta = arg
之后添加 print(beta)
,您应该会看到类似 (0,)
作为打印输出而不是 0
)。
尝试:
beta = arg[0]
相反,即
def f(x, *arg):
beta = arg[0]
y = -x + beta * np.tanh(x)
return y
对于 der_x0
,您应该得到 -1.0
的值。
关于python - SciPy 导数函数 - 参数解析失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48158042/