SciPy导数函数 - 参数解析失败

时间:2018-01-08 21:05:29

标签: python numpy scipy

我试图用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

1 个答案:

答案 0 :(得分:1)

beta属于元组类型(例如,在print(beta)之后添加beta = arg,您应该会看到(0,)之类的内容,而不是0

尝试:

beta = arg[0]
相反,即

def f(x, *arg):
    beta = arg[0]
    y = -x + beta * np.tanh(x)
    return y

您应该为-1.0获得der_x0的值。