Logo Studenta

Integracion_simpson_13

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()

Continuar navegando

Materiales relacionados

2 pag.
Regla de Simpson para aproximar integrales

SIN SIGLA

User badge image

christianolvera192

2 pag.
Método de integración numérica

SIN SIGLA

User badge image

christianolvera192

2 pag.