- #1
arizonian
- 18
- 2
I am having problems in Numerical Methods with Simpson's 3/8 rule of integration. Of course, this is computer driven. The code that I have written for Matlab (SV7) goes as such:
1) function simpson38(f,n,a,b)
2) h = (b-a)/n;
3) x = a;
4) sum = f(x);
5) for i = 1:3:(n-3)
6) x = x + h;
7) sum = sum + 3 * f(x);
8) x = x + h;
9) sum = sum + 3 * f(x);
10) x = x + h
11) sum = sum + 2* f(x);
12) end
13) x = x + h;
14) sum = sum + 3 * f(x);
15) x = x + h;
16) sum = sum + 3 * f(x);
17) x = x + h
18) sum = sum + f(b);
19) I = (b-a) * sum/(8*n)
f = the function to be integrated, n = number of points, h = the stepsize, i is a counter, and sum is the sum of the values. a and b are the endpoints. I = the final integrated value.
If I am reading the book right, the middle points are given a weight of 3/8 each, with the end points given a weight of 1/8. With that in mind, line 11 should be weighted 2/8 (end point from 2 directions) unless it is the final endpoint.
What am I missing?
Thanks
Bill
1) function simpson38(f,n,a,b)
2) h = (b-a)/n;
3) x = a;
4) sum = f(x);
5) for i = 1:3:(n-3)
6) x = x + h;
7) sum = sum + 3 * f(x);
8) x = x + h;
9) sum = sum + 3 * f(x);
10) x = x + h
11) sum = sum + 2* f(x);
12) end
13) x = x + h;
14) sum = sum + 3 * f(x);
15) x = x + h;
16) sum = sum + 3 * f(x);
17) x = x + h
18) sum = sum + f(b);
19) I = (b-a) * sum/(8*n)
f = the function to be integrated, n = number of points, h = the stepsize, i is a counter, and sum is the sum of the values. a and b are the endpoints. I = the final integrated value.
If I am reading the book right, the middle points are given a weight of 3/8 each, with the end points given a weight of 1/8. With that in mind, line 11 should be weighted 2/8 (end point from 2 directions) unless it is the final endpoint.
What am I missing?
Thanks
Bill