【问题标题】:High order functions - receive lambda func for derivative calculation高阶函数 - 接收 lambda func 进行导数计算
【发布时间】:2020-09-18 09:49:54
【问题描述】:

我是 python 新手,我一直在尝试实现数值导数高阶函数,但我无法修改我的代码以获得所需的结果:

def deriv(f):
    return lambda x: ((f(x + h) - f(x)) / h)

但是当调用函数时我得到一个错误我无法解释。

【问题讨论】:

  • 你怎么称呼它?请也分享该代码
  • print(deriv(lamda x: x**2)(4)) 预期结果为 8

标签: python math lambda higher-order-functions


【解决方案1】:

欢迎来到 StackOverflow!下次我建议添加错误描述以帮助我们更好地帮助您。

在这种情况下,我想您可能缺少变量 h 的定义。 尝试将此行添加到您的代码中:

def derivative(f):
    h=0.000001
    return lambda x: ((f(x + h) - f(x)) / h)

或:

def deriv(f, h=0.000001):
    return lambda x: ((f(x + h) - f(x)) / h)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多