我正在编写以下函数,由于某种原因,我无法在for循环中添加矩阵的列。他们只是不断重复初始向量。
TaylorSine <- function(x=seq(-2*pi, 2*pi, .01), k=1) {
if (k %% 2 == 0){ a <- 0
} else if ((-1)^floor(k/2) == -1){
a <- 1
} else if ((-1)^floor(k/2) == 1){
a <- -1
}
b <- matrix(nrow=length(x), ncol=k)
for(i in 2:k){
b[, 1] <- x
## for some reason a*(x^i)/factorial(i) is repeating x not adding the previous column b[, i-1] to b[, -1]????????
b[, i] <- b[, i-1] + a*(x^i)/factorial(i)
print(head(b))
}
b[, k]
}
TaylorSine(k=4)
有什么想法吗?