Как я могу сделать символическое дифференцирование для сложной функции, используя R - PullRequest
0 голосов
/ 15 апреля 2019

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

f1=function(tt){
  u=cbind(cos(tt),sin(tt))
  a=drop((u)%*%solve(var.cov)%*%t(u))
  b=drop((u)%*%solve(var.cov)%*%(mu))
  c=drop(-0.5*t(mu)%*%solve(var.cov)%*%mu)
  d=drop(b/sqrt(a))
  aa=(1/(2*pi*a*sqrt(det(var.cov))))*exp(c)*(1+((d*pnorm(d))/dnorm(d)))
  return(aa)
}
D(expression(f1),"var.cov")

Мне нужно получить производную по матрице (var.cov). Я не знаю причину этой ошибки. Есть ли пакет в R, который предназначен для дифференциации ?????? спасибо

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