Go back to Flu Mortality
/* file mymod.c */
#include <R.h>
static double parms[3];
#define beta parms[0] #define alpha parms[1] #define N parms[2]
/* initializer */
void initmod(void (* odeparms) (int *, double *)) {
int n = 3; odeparms(&n, parms);
}
/* Derivatives and 1 output variable */
void derivs(int *neq, double *t, double *y, double *ydot, double *yout, int *ip) {
if(ip[0] < 1) error("nout should be at least 1"); ydot[0] = -1 * beta * y[0] * y[1] / N; ydot[1] = (beta * y[0] * y[1] / N) - (alpha * y[1]); yout[0] = y[0];
}
/* The Jacobian matrix */
void jac(int *neq, double *t, double *y, int *ml, int *mu, double *pd, int *nrowpd, double *yout, int *ip) {
pd[0] = -1 * beta * y[1] / N; pd[1] = beta * y[1] / N; pd[(*nrowpd)] = -1 * beta * y[0] / N; pd[(*nrowpd) + 1] = (beta * y[0] / N) - alpha;
}
/* END file mymod.c */