我需要使用R中的(D)函数来区分由矩阵和向量相乘得到的函数,但是每次结果为零时。 这是我的代码:
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中是否有一个专门用于区分的软件包? 谢谢