# Left endpoints f(x) = e^(sqrt(x)) a = 0 b = 2 n = 10 ((b-a)/n * sum([f(a + (b-a)/n*i) for i in range(0, n)])).n()
# Right endpoints f(x) = e^(sqrt(x)) a = 0 b = 2 n = 10 ((b-a)/n * sum([f(a + (b-a)/n*i) for i in range(1, n+1)])).n()
# Midpoint Rule f(x) = e^(sqrt(x)) a = 0 b = 2 n = 10 ((b-a)/n * sum([f(a + (b-a)/n*i + (b-a)/(2*n)) for i in range(0, n)])).n()
# Trapezoid Rule f(x) = e^(sqrt(x)) a = 0 b = 2 n = 10 ((1/2)*(b-a)/n * (f(a) + 2*sum([f(a + (b-a)/n*i) for i in range(1, n)]) + f(b))).n()
# Simpsons Rule f(x) = e^(sqrt(x)) a = 0 b = 2 n = 10 ((1/3) * (b-a)/n * (f(a) + 4*sum([f(a + (b-a)/n*i) for i in range(1, n, 2)]) + 2*sum([f(a + (b-a)/n*i) for i in range(2, n, 2)]) + f(b))).n()
numerical_integral(e^(sqrt(x)), 0, 2)