【问题标题】:Derivative in R and finding value at a pointR中的导数并在某个点找到值
【发布时间】:2018-02-11 09:48:57
【问题描述】:

我有t^3 / sqrt(1 - t^2) 我想找到它的三阶导数,然后找到 t=0 处的值。我想在 R 中做到这一点。我已经尝试过

dddft <- function(t) {D(D(D(expression((t^3) / (sqrt(1-t^2))), "t"), "t"), "t")}

然后我试试

dddft(0)

但是这样做只会给我一个冗长的表达,而不是在 t=0。

我做错了什么?

【问题讨论】:

    标签: r function derivative


    【解决方案1】:

    使用eval() 评估表达式是否可以运行。

    dddft <- function(t) eval(D(D(D(expression((t^3) / (sqrt(1-t^2))), "t"), "t"), "t"))
    
    dddft(0)
    # [1] 6
    

    为了避免痛苦的嵌套,你可以使用这个函数(见?D):

    DD <- function(expr, name, order = 1) {
      if(order < 1) stop("'order' must be >= 1")
      if(order == 1) D(expr, name)
      else DD(D(expr, name), name, order - 1)
    }
    
    dddft <- function(x) eval(DD(expression(x^3 / sqrt(1 - x^2)), "x", 3))
    dddft(0)
    # [1] 6
    

    【讨论】:

      猜你喜欢
      • 2020-09-23
      • 2018-09-02
      • 1970-01-01
      • 2022-11-06
      • 2012-02-11
      • 2018-06-19
      • 1970-01-01
      • 2014-12-06
      • 1970-01-01
      相关资源
      最近更新 更多