我发现截断误差的公式是f(x)* h ^ n + 1 / n!的第(n + 1)个度。我想根据计算将其应用于R。我知道x值是2.4,n值是3。我认为我的编码中有一些错误。我的代码是
f <- expression(exp(x))
truncation.error <- function(f, x){
steps <- c(0.1, 0.01, 0.001)
n <- length(steps)
fdx1<-vector(length=n)
enfor(h in 1:n){
fdx1[h]<- (D(D(D(f,'x'),'x'),'x'))*steps[h]^3/6
}
return(fdx1)
}
for (i in x) {
print(truncation.error(f, 2.4))
}
当我运行它时,它不起作用。我看到以下输出:
(D(D(D(D(f,“ x”),“ x”),“ x”)))*步骤[h] ^ 3中的错误: 二进制运算符的非数字参数。
我该如何解决这个问题或在哪里犯错?非常感谢。