Есть такая функция, как: y = (e ^ x - 2) ^ n x неизвестен, для n = 2,3,4, ..., 8 Теперь я хочу использовать метод NR, чтобы найтикорень этой функции (начальный x равен 0) для каждого значения n.Вот мой код:
NR <- function(f, tol = 1e-5, ite = 1000){
k <- ite
x0 <- 0
for(n in 2:8){
for (i in 1:ite){
#calculate dx
dx <- genD(func = f, x0)$D[1]
dx1 <- n * exp(x0) * ((dx - 2) ^ (n - 1))
#get the x1
x1 <- x0 - ((f(x0) ^ n) / dx1)
k[i] <- x1
if(abs(x1 - x0) < tol){
root <- x1
re <- list('root approximation' = root, 'iteration' = length(k))
return(re)
}
x0 <- x1
}
print('Outside the upper iteration')
}
}
Но эта программа показывает только первый результат (когда n = 2): корневое приближение = 0.6931375, итерация = 15. Похоже, мой внешний цикл игнорируется R. Я нене знаю почему, не могли бы вы помочь мне с этой проблемой?