home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / Samples / C-SSP.ARJ / SIMPS.C < prev    next >
Encoding:
Text File  |  1984-07-16  |  587 b   |  27 lines

  1.    simps(m,xo,xn,y,simp)
  2.  
  3.       /*this function will integrate a given function      */
  4.       /*over the prescribed range using Simpson's 3/8 rule.*/
  5.  
  6.       int m;
  7.       float xo,xn,y[],*simp;
  8.  
  9.     {
  10.  
  11.       int i,k,tn;
  12.       float sim;
  13.  
  14.       tn = m - 1;
  15.       sim = y[0] + 3. * y[m-3] + 3. * y[m-2] + y[m-1];
  16.       if ((m-4) < 0) return;
  17.       if (m > 6)
  18.       {
  19.        k = m - 6;
  20.        for(i = 1; i <= k; i = i + 3)
  21.         sim = 3. * y[i] + 3. * y[i + 1] + 2. * y[i + 2] + sim;
  22.       }
  23.       *simp = ((xn - xo)/tn) * 3/8;
  24.       *simp = *simp * sim;
  25.     }
  26.  
  27.