Я сейчас изучаю основные функции роста. Поскольку R не очень хорош в работе с символическими уравнениями, я пишу как функцию роста, так и ее производную для последующего применения метода Ньютона-Рафсона. Код выглядит следующим образом:
invested <- c(10000, 20000, 15000, 30000)
rates <- c(5e-3, 6e-3, 7e-3, 8e-3)
amount <- 0
prediction <- function(t){
for(i in invested){
for(j in rates){
parcel <- i * exp(j * t)
}
amount <- amount + parcel
}
print(amount)
}
dt <- 0
dpred <- function(t){
for(i in invested){
for(j in rates){
parcial <- (j*i) * exp(j * t)
}
dt <- dt + parcial
}
print(dt)
}
Проблема в том, что он выплевывает prediction(1)
на 85,59 слишком много для фактического значения, которое я нашел, тестируя со следующим кодом:
(10000*exp(5e-3))+(20000*exp(6e-3))+(15000*exp(7e-3))+(30000*exp(8e-3))
Производная dpred(1)
также отключена с довольно большим отрывом, согласно моим предыдущим расчетам. Любые идеи о том, почему ошибка такая большая и как от нее избавиться?