Kirby, you are working too hard!
> >>> simpson(g,0,3,1)
> 8.9893
Why ten thousand intervals when one interval gives
the exact result?
>>> simpson(g,0,3,1)
9.0
Henrik
___
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org
Kirby got the trapezoidal integration rule wrong.
This is the corrected version.
def integrate(f,a,b,n=1000):
sum = 0
h = (b-a)/float(n)
for i in range(1,n):
sum += f(a+i*h)
return h*(0.5*f(a)+sum+0.5*f(b))
The interval must be divided into n equal parts, so
an arbitrar