home *** CD-ROM | disk | FTP | other *** search
- simps(m,xo,xn,y,simp)
-
- /*this function will integrate a given function */
- /*over the prescribed range using Simpson's 3/8 rule.*/
-
- int m;
- float xo,xn,y[],*simp;
-
- {
-
- int i,k,tn;
- float sim;
-
- tn = m - 1;
- sim = y[0] + 3. * y[m-3] + 3. * y[m-2] + y[m-1];
- if ((m-4) < 0) return;
- if (m > 6)
- {
- k = m - 6;
- for(i = 1; i <= k; i = i + 3)
- sim = 3. * y[i] + 3. * y[i + 1] + 2. * y[i + 2] + sim;
- }
- *simp = ((xn - xo)/tn) * 3/8;
- *simp = *simp * sim;
- }
-