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 # Función para calcular el método de Euler def euler(f, a, b, n, y0): h = (b - a) / n # Tamaño del intervalo x = np.linspace(a, b, n+1) # Puntos equidistantes y = np.zeros(n+1) # Vector para almacenar las soluciones y[0] = y0 # Condición inicial # Iteración del método de Euler for i in range(n): y[i+1] = y[i] + h * f(x[i], y[i]) return x, y # Función de ejemplo def f(x, y): return x * y # Solución exacta (si está disponible) def exact_solution(x): return np.exp(x**2/2) # Intervalo de integración a = 0 b = 1 # Número de subintervalos n = 10 # Condición inicial y0 = 1 # Calcular el método de Euler x, y = euler(f, a, b, n, y0) # Calcular la solución exacta (si está disponible) exact_x = np.linspace(a, b, n+1) exact_y = exact_solution(exact_x) # Imprimir procedimiento print("Procedimiento del método de Euler:") for i in range(n+1): print(f"y({x[i]:.2f}) = {y[i]:.6f}") # Graficar resultados plt.plot(exact_x, exact_y, 'g', label='Solución exacta') plt.plot(x, y, 'r.-', label='Aproximación') plt.xlabel('x') plt.ylabel('y') plt.title('Método de Euler') plt.legend() plt.grid(True) plt.show()
Compartir