import math
# función a integrar
def f(x):
return math.sin(x)
# método del rectángulo
def rectangulo(a,b,n):
h=(b-a)/n
suma=0
for i in range(n):
x=a+i*h
suma+=f(x)
return h*suma
# método del trapecio
def trapecio(a,b,n):
h=(b-a)/n
suma=f(a)+f(b)
for i in range(1,n):
x=a+i*h
suma+=2*f(x)
return (h/2)*suma
# método de Simpson
def simpson(a,b,n):
h=(b-a)/n
suma=f(a)+f(b)
for i in range(1,n):
x=a+i*h
if i%2==0:
suma+=2*f(x)
else:
suma+=4*f(x)
return (h/3)*suma
# parámetros
a=0
b=math.pi
n=10
print("Valor exacto:",2)
print("Rectangulo:",rectangulo(a,b,n))
print("Trapecio:",trapecio(a,b,n))
print("Simpson:",simpson(a,b,n))