R中的导数和在一个点上找到值
Derivative in R and finding value at a point
我有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.
我做错了什么?
用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
我有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.
我做错了什么?
用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