Numerical integration: Difference between revisions

Content added Content deleted
(Add Python)
Line 712: Line 712:
let square x = x *. x
let square x = x *. x

let rl = integrate square 0. 1. 10 left_rect
let rl = integrate square 0. 1. 10 left_rect
let rm = integrate square 0. 1. 10 mid_rect
let rm = integrate square 0. 1. 10 mid_rect
Line 717: Line 718:
let t = integrate square 0. 1. 10 trapezium
let t = integrate square 0. 1. 10 trapezium
let s = integrate square 0. 1. 10 simpson
let s = integrate square 0. 1. 10 simpson

=={{header|Python}}==
<python>
def left_rect(f,x,h):
return f(x)

def mid_rect(f,x,h):
return f(x + h/2)

def right_rect(f,x,h):
return f(x+h)

def trapezium(f,x,h):
return (f(x) + f(x+h))/2.0

def simpson(f,x,h):
return (f(x) + 4*f(x + h/2) + f(x+h))/6.0

def square(x):
return x*x

def integrate( f, a, b, steps, meth):
h= (b-a)/steps
ival = h*sum( (meth(f, a+i*h, h) for i in range(0,steps)))
return ival

t = integrate( square, 3.0, 7.0, 30, simpson )
</python>


=={{header|Scheme}}==
=={{header|Scheme}}==