Существует ли функция R, которая может принимать частную производную функции, которая требует цикла? - PullRequest
0 голосов
/ 25 сентября 2019

У меня есть функция в R, которая требует использования цикла for, потому что более поздние значения вектора зависят от предыдущих значений вектора.Мне нужно взять частные производные этой функции.

Я пытался использовать функцию Deriv::Deriv, которая позволяет вам предоставлять функцию вместо выражения типа deriv.

Я включил упрощение своей функции:

fn=function(b1,omega){
  R=12
  S=10
  curmean=rep(b1,R)
  for (each in 2:S){
    curmean=c(curmean,omega*(curmean[((each-2)*R+1):((each-1)*R)]))
  }
  curmean
}
fn(.04,.8)
Deriv(fn,x=c('b1'))(.004,.8)

Этот код должен возвращать вектор, когда функции предоставляются входные данные b1=.04 и omega=.8 (что она и делает) кака также вектор, полученный из этих значений после взятия частной производной b1.

Error in Deriv_(a, x[ix], env, use.D, dsym, scache) : Could not retrieve body of 'for()'

Есть ли обходной путь для этого?Может быть, символический язык для создания вектора?

...