1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
def trap0(a,b,f,n):
    h = (1.0 / n) * (b + -a)
    total = 0
    for i in range(1,n):
        total += (1 / 2.0) * (h * f(a + h * i))
    final = 1 / 2.0 * h * f(a) + 2 * total + (1 / 2.0) * (h * f(h * n + a))
    return final

def trap1(a,b,f,n,e0):
    h = (1.0 / n) * (b + -a)
    total = 0
    for i in range(1,n):
        total += (1 / 2.0) * (h * f(a + h * i,e0))
    final = 1 / 2.0 * h * f(a,e0) + 2 * total + (1 / 2.0) * (h * f(h * n + a,e0))
    return final

def trap2(a,b,f,n,e0,e1):
    h = (1.0 / n) * (b + -a)
    total = 0
    for i in range(1,n):
        total += (1 / 2.0) * (h * f(a + h * i,e0,e1))
    final = 1 / 2.0 * h * f(a,e0,e1) + 2 * total + (1 / 2.0) * (h * f(h * n + a,e0,e1))
    return final

def trap3(a,b,f,n,e0,e1,e2):
    h = (1.0 / n) * (b + -a)
    total = 0
    for i in range(1,n):
        total += (1 / 2.0) * (h * f(a + h * i,e0,e1,e2))
    final = 1 / 2.0 * h * f(a,e0,e1,e2) + 2 * total + (1 / 2.0) * (h * f(h * n + a,e0,e1,e2))
    return final