template<class Type>
Type objective_function<Type>::operator() ()
{
Type sX=exp(logsX);
Type sY=exp(logsY);
Type ans=0;
for(
int i=0;i<
dt.size();i++)
dt(i) = tsim(i+1)-tsim(i);
for(
int i=0;i<
dt.size();i++){
ans -=
dnorm(X(i+1),X(i) + lambda*X(i)*
dt(i),sX*sqrt(
dt(i)),1);
}
for(int i=0;i<Y.size(); ++i){
int j=CppAD::Integer(iobs(i));
ans-=
dnorm(Y(i),X(j),sY,1);
}
return ans;
}
License: