#include #include /* adm.c : 1999 3 28 by T.Oguni */ #define N 200 double f(double t, double y) {return 2.*t*y; } adm(tvals,yvals,t0,tf,y0,h) double tvals[N+1], yvals[N+1], t0, tf, y0, h; { double k[4],fval[5],ys[4],y,t,s,y1,t1,yc; double b[4]={0.1666666667, 0.333333333, 0.3333333, 0.166666667}; double d[4]={0., 0.5, 0.5, 1.}; double c[4][4]={0.,0.,0.,0., 0.5,0.,0.,0., 0.,0.5,0.,0., 0.,0.,1.,0.}; int order=4, i, j, m, n; y=y0; t=t0; yvals[0]=y0; tvals[0]=t0; fval[0]=f(t,y); ys[0]=y0; s=(tf-t0)/h; n=(int)s+1; for (j=1; j<4; j++){ k[0]=h*f(t,y); for (i=1; i