#include #include #include extern "C" { void fcn(int npar, double grad[2], double * fcnval, double xval[2], int iflag, void * futil); } FCALLSCSUB6(fcn,FCN,fcn,INT,DOUBLEV,PDOUBLE,DOUBLEV,INT,ROUTINE) extern "C" void fcn(int npar, double grad[2], double * fcnval, double par[2], int iflag, void * futil) { extern int num_points; extern double z[], n[]; // constants for computing nu from z double r = 0.52e-6; // m double DeltaRho = 63.0; // kg / m^3 double g = 9.80; // m / s^2 double T = 293.0; // K double PI = 3.14159265; double A = - 4.*PI*pow(r,3)*g*DeltaRho/(3.*T); double nu0 = par[0]; double k = par[1]* 1.0e-23; // k in J/K // EXERCISE 5.3 -- INSERT YOUR CODE HERE // Here you need a loop over the data points // to compute the log-likelihood function // Once you have logL, the quantity you want to minimize is -2*logL *fcnval = -2.0*logL; }