У меня есть следующий цикл for, который делает именно то, что я хочу:
for (t in 3:20){
XX <- c(rep(0,22))
for (k in (1:(t-2))){
XX[k] <- (theta^(k-1) * (P[t-k] - P[t-k-1]))
}
X[t] = (1-theta) * sum(XX) + theta^(t-1)
P[t] <- D[t] + (0.7/0.3) * X[t] - 0.1*3^2*1*(20-t-1 + (1/0.3))
}
Однако, как только я создаю функцию и использую ее, результаты внезапно оказываются неверными:
BGJS <- function(theta){
for (t in 3:20){
XX <- c(rep(0,22))
for (k in (1:(t-2))){
XX[k] <- (theta^(k-1) * (P[t-k] - P[t-k-1]))
}
X[t] = (1-theta) * sum(XX) + theta^(t-1)
P[t] <- D[t] + (0.7/0.3) * X[t] - 0.1*3^2*1*(20-t-1 + (1/0.3))
}
}
Может кто-нибудь найти ошибку?