Getting Started Example for PROC TMODEL

/*--------------------------------------------------------------

                    SAS Sample Library

        Name: tmogs.sas
 Description: Example program from SAS/ETS User's Guide,
              The TMODEL Procedure
       Title: Getting Started Example for PROC TMODEL
     Product: SAS/ETS Software
        Keys: nonlinear simultaneous equation models
        PROC: TMODEL
       Notes:

--------------------------------------------------------------*/


data soln;
   keep exprun t x y;
   length exprun $ 8;
   array experno[4] $ _temporary_ ( "one" "two" "three" "four" );
   call streaminit (1);
   do i = 1 to 4;
      exprun = experno[i];
      do t = 0 to 5 by 0.1;
         /* analytic solution for the ODE system */
         x = 1/2*(exp(-3*t) - exp(-t)) + rand('normal',0,0.01);
         y = 1/2*(exp(-3*t) + exp(-t)) + rand('normal',0,0.01);
         output;
      end;
   end;
run;

proc model outmodel=ode;
   endo x y;
   parms a b;
   g = exp (x + y);
   dert.x = -a*x - log (g);
   dert.y = -b*y - log (g);
quit;

proc model data=soln model=ode;
   fit / time=t dynamic;
quit;

proc tmodel data=soln model=ode;
   crosssection exprun;
   fit / time=t dynamic;
quit;

data d;
   length cs $ 8;
   array csname{5} $ _temporary_ ( 'first' 'second' 'third' 'fourth' 'fifth' );
   call streaminit (1);
   do pp = 1 to dim(csname);
      lagx = 0;
      do t = 1 to 10;
         x = 0.8*lagx + rand('normal');
         lagx = x;
         cs = csname[pp];
         output;
      end;
   end;
run;

proc tmodel data=d;
   endo x;
   crosssection cs;
   parms p;

   x = p*lag(x);
   fit;
quit;