Почему повторение цикла меняет результаты циклической оптимизации? - PullRequest
0 голосов
/ 31 мая 2019

Моя оригинальная функция включает в себя несколько функций optimize (), для которых я получаю разные результаты, когда применяю функцию в первый раз во второй раз.

Я пытался это , но я сделалубедитесь, что возвращаемое значение является одномерным.

fn = function(A,P){
  l_fn = function(x) {
    L <- x[1]
    -((A*L*P)-(P*L^2)) # -1 because optimize-function finds minimum
  }
  l_opt <- as.numeric(optimize(l_fn,c(0,1000))[2]) # get objective output
  return(l_opt)
}

f <- data.frame(x=c(10:20))

for (i in 1:length(f)) { # run this part 2 times!
  f$test <- sin(f$x) # this is how I expect a function to behave
  f$out[i] <- fn(f$x[i],100) 
}

при первом запуске кода выдает f $ out, которые все равны (странно).повторный запуск цикла for приводит к изменению f $ out, хотя входные параметры остаются прежними!Как это возможно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...