[英]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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.