# -*- coding: utf-8 -*-
"""
Created on Thu Feb 13 01:38:28 2014

@author: dconduche
"""

def methode_trap(f, a, b, n):
    I = (f(a) + f(b)) / float(2)
    pas = (b-a) / float(n)
    for k in range(1, n):
        I = I + f(a+k*pas)
    return pas * I

def methode_trap_alternatif(f, a, b, n):
    pas = (b-a) / float(n)
    return pas*((f(a)+f(b))/float(2)+sum([f(a + k*pas) for k in range(1, n)]))

# Retourne : un float, 
# représentant l'intégrale de f sur [a,b] par la méthode des trapezes en n pas

# Vous pouvez aussi le coder avec des tableaux numpy (en important numpy au préalable), ou sans mémoriser le pas : l'essentiel, c'est la formule. 
