Descarga la aplicación para disfrutar aún más
Esta es una vista previa del archivo. Inicie sesión para ver el archivo original
import numpy as np import matplotlib.pyplot as plt def simpson_1_3_integration(f, a, b, n): """ Implementa el método de Simpson 1/3 para la integración numérica de una función. Argumentos: - f: función a integrar - a: límite inferior de integración - b: límite superior de integración - n: número de subintervalos Retorna: - El valor de la integral numérica """ if n % 2 != 0: raise ValueError("El número de subintervalos debe ser par.") h = (b - a) / n # Tamaño del subintervalo # Suma los valores de la función en los puntos interiores sum_int = 0 for i in range(1, n): x = a + i * h if i % 2 == 0: sum_int += 2 * f(x) else: sum_int += 4 * f(x) # Calcula la integral numérica integral = (h / 3) * (f(a) + sum_int + f(b)) return integral # Función de ejemplo def f(x): return (x+2/x)**2 # Límites de integración a = 2 b = 0.5 # Número de subintervalos n = 10 # Aplica el método de Simpson 1/3 integral = simpson_1_3_integration(f, a, b, n) # Imprime el resultado de la integral print("Resultado de la integral:", integral) # Crea un conjunto de puntos para graficar la función x_vals = np.linspace(a, b, 100) y_vals = f(x_vals) # Grafica la función y el área bajo la curva plt.figure() plt.plot(x_vals, y_vals, label='Función') plt.fill_between(x_vals, y_vals, alpha=0.2, label='Área bajo la curva') plt.xlabel('x') plt.ylabel('y') plt.title('Integración por Método de Simpson 1/3') plt.legend() plt.grid(True) plt.show()
Compartir