home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_10_05 / 1005048a < prev    next >
Text File  |  1992-03-11  |  854b  |  31 lines

  1.  
  2. Listing 1.  Impulse response function
  3.  
  4.           #include <stdio.h>
  5.           
  6.           void impulse_response(FILE *out, int N,
  7.           double a, double b, double c)
  8.           {
  9.               double
  10.                  y = c,  /* The most recent system output value */
  11.                  y1 = 0; /* The previous output */
  12.           
  13.               /* Time t = 0, before the impulse. */
  14.               fprintf(out, "%lg\n", y1);
  15.           
  16.               /* Time t = 1, the instant of the impulse. */
  17.               fprintf(out, "%lg\n", y);
  18.           
  19.               N -= 2;  /* Two points already written */
  20.  
  21.               /* All later times, t > 1 */
  22.               while(N-- >= 0)
  23.               {
  24.                  double t = y;
  25.                  y = a*y + b*y1;
  26.                  y1 = t;
  27.                  fprintf(out, "%lg\n", y);
  28.               }
  29.           }
  30.  
  31.