Ecuaciones diferenciales · Tema 32

Método de Euler

Avanzar sobre una ecuación diferencial con la pendiente disponible, comprender cuánto error introduce cada paso y reconocer cuándo una aproximación aparentemente simple se vuelve inestable.

01 · La idea más directa

Seguir la recta tangente

Consideremos el problema de valor inicial y′=f(t,y), y(t₀)=y₀. Si conocemos el estado (tₙ,yₙ), también conocemos la pendiente f(tₙ,yₙ). Euler supone que esa pendiente permanece constante durante un intervalo corto h:

tₙ₊₁=tₙ+h
yₙ₊₁=yₙ+h f(tₙ,yₙ)

Geométricamente, sustituye un pequeño arco de la solución por el segmento de su recta tangente al comienzo del paso.

02 · Derivación diferencial

Euler a partir de Taylor

Si la solución es suficientemente suave, su expansión alrededor de tₙ es:

y(tₙ+h)=y(tₙ)+h y′(tₙ)+h²y″(ξ)/2

Como y′(tₙ)=f(tₙ,y(tₙ)), al omitir el término cuadrático obtenemos:

y(tₙ+h)≈y(tₙ)+h f(tₙ,y(tₙ))

Reemplazando el valor exacto por la aproximación disponible aparece la recurrencia de Euler. El término descartado explica por qué cada paso introduce un error proporcional a h².

03 · Derivación por acumulación

Una regla del rectángulo para la pendiente

La misma fórmula surge de la forma integral del PVI:

y(tₙ₊₁)=y(tₙ)+∫tₙtₙ₊₁ f(s,y(s))ds

Euler aproxima la integral con un rectángulo cuya altura es la pendiente del extremo izquierdo:

∫tₙtₙ₊₁ f(s,y(s))ds ≈ h f(tₙ,yₙ)

Esta interpretación anticipa cómo mejorar el método: estimar mejor la pendiente media del intervalo. Esa será la idea de Heun y del punto medio en el próximo tema.

04 · Recurrencia explícita

Qué ocurre en cada paso

leer (tₙ,yₙ)→calcular f(tₙ,yₙ)→sumar h·f→obtener yₙ₊₁

Se denomina explícito porque el nuevo valor se calcula directamente a partir de datos conocidos. Con paso constante y N subintervalos:

h=(tfinal−t₀)/N
  1. Inicializar t=t₀ e y=y₀.
  2. Evaluar pendiente=f(t,y).
  3. Actualizar primero el estado con y=y+h·pendiente.
  4. Avanzar el tiempo y repetir hasta llegar al extremo.

La pendiente debe evaluarse con el estado anterior. Alterar componentes antes de terminar esa evaluación cambia el método.

05 · Cálculo a mano

Cuatro pasos para y′=y

Para y′=y, y(0)=1 y h=0.25, la recurrencia se simplifica:

yₙ₊₁=(1+h)yₙ=1.25yₙ
Aproximaciones de Euler hasta t=1.
ntₙyₙeᵗⁿ
0011
10.251.251.284025
20.501.56251.648721
30.751.9531252.117000
41.002.4414062.718282

La solución exacta es convexa y queda por encima de sus tangentes. Por eso Euler subestima sistemáticamente este crecimiento.

06 · Implementación escalar

Un integrador reutilizable en JavaScript

La implementación siguiente acepta un paso máximo y acorta el último para terminar exactamente en tFinal:

function euler(f, t0, y0, tFinal, hMaximo) {
  if (!(hMaximo > 0) || tFinal < t0) throw new Error("Intervalo inválido");
  const trayectoria = [{ t: t0, y: y0 }];
  let t = t0;
  let y = y0;

  while (t < tFinal) {
    const h = Math.min(hMaximo, tFinal - t);
    const pendiente = f(t, y);
    y += h * pendiente;
    t += h;
    if (!Number.isFinite(y)) throw new Error("Estado no finito");
    trayectoria.push({ t, y });
  }
  return trayectoria;
}

const puntos = euler((t, y) => y, 0, 1, 1, 0.25);
for (const punto of puntos) {
  console.log(`t=${punto.t.toFixed(2)}, y=${punto.y.toFixed(6)}`);
}

Guardar toda la trayectoria resulta útil para graficar. Si solo interesa el estado final, puede conservarse únicamente el último valor y reducir el uso de memoria.

07 · El defecto de un paso

Error local de truncamiento

Imaginemos que un paso comienza desde el valor exacto. La diferencia entre el resultado exacto y el paso de Euler es:

dₙ₊₁=y(tₙ₊₁)−[y(tₙ)+h f(tₙ,y(tₙ))]

Por Taylor, dₙ₊₁=h²y″(ξ)/2; por tanto, el defecto por paso es O(h²). Algunas fuentes dividen este defecto por h y llaman error local a esa cantidad, que entonces es O(h). La convención debe indicarse para evitar confusiones.

08 · Acumulación y convergencia

Error global de primer orden

Para cubrir un intervalo fijo se realizan aproximadamente 1/h pasos. Los defectos locales se acumulan y también se propagan a través de f. Bajo hipótesis habituales de suavidad y Lipschitz:

max |y(tₙ)−yₙ| ≤ C h

Euler es un método de orden global uno. En la región asintótica, reducir h a la mitad reduce aproximadamente el error global a la mitad.

function eulerFinal(f, t0, y0, tFinal, pasos) {
  const h = (tFinal - t0) / pasos;
  let t = t0;
  let y = y0;
  for (let n = 0; n < pasos; n++) {
    y += h * f(t, y);
    t += h;
  }
  return y;
}

let errorAnterior;
for (const pasos of [4, 8, 16, 32, 64]) {
  const aproximacion = eulerFinal((t, y) => y, 0, 1, 1, pasos);
  const error = Math.abs(Math.E - aproximacion);
  const cociente = errorAnterior === undefined ? "—" : errorAnterior / error;
  console.log(pasos, aproximacion.toFixed(8), error.toExponential(3), cociente);
  errorAnterior = error;
}

El cociente entre errores consecutivos se acerca a 2, la señal experimental esperada para un método de orden uno.

09 · Los errores viajan

Cómo se propaga una perturbación

Sea eₙ=y(tₙ)−yₙ. Restando el paso numérico del avance exacto aparece, de forma esquemática:

|eₙ₊₁| ≤ (1+hL)|eₙ| + C h²

El primer término propaga el error existente; el segundo agrega el nuevo defecto local. Al iterar la desigualdad se obtiene la cota global proporcional a h.

La constante del error puede crecer con la longitud del intervalo, con la curvatura de la solución y con la sensibilidad del modelo. Decir O(h) describe la tasa cuando h→0, no garantiza que cualquier paso moderado sea preciso.

10 · Ecuación de prueba

Estabilidad absoluta

Para estudiar cómo Euler reproduce un decaimiento usamos y′=λy, con Re(λ)<0. El paso es:

yₙ₊₁=(1+hλ)yₙ

El número R(z)=1+z, donde z=hλ, es el factor de amplificación. La solución numérica decae solamente si:

|1+hλ|<1

Para λ real y negativo, esto exige 0<h<2/|λ|.

Comportamiento para y′=−5y.
h1−5hComportamiento
0.10.5Decaimiento positivo
0.3−0.5Decae alternando signos
0.5−1.5Oscila y crece: inestable

11 · Precisión no es la única condición

Elegir el tamaño de paso

El paso debe resolver las escalas del problema y satisfacer las restricciones de estabilidad. Un valor adecuado se comprueba, no se adivina:

  • repetí el cálculo con h/2 y compará resultados;
  • observá magnitudes físicas, signos y cantidades que deberían conservarse;
  • evitá que el paso salte discontinuidades, eventos o cambios rápidos;
  • verificá que el último paso termine exactamente en el tiempo solicitado;
  • rechazá estados NaN o infinitos y establecé límites de iteraciones.

Para y′=λy con λ<0, estabilidad requiere h<2/|λ|, pero preservar positividad exige la condición más estricta h≤1/|λ|.

12 · Estado vectorial

Euler para sistemas

Si el estado es un vector, la misma fórmula se aplica componente a componente usando todas las derivadas calculadas desde el estado anterior:

𝐲ₙ₊₁=𝐲ₙ+h 𝐟(tₙ,𝐲ₙ)
function pasoEulerVector(f, t, estado, h) {
  const derivada = f(t, estado);
  if (derivada.length !== estado.length) throw new Error("Dimensión incompatible");
  return estado.map((valor, i) => valor + h * derivada[i]);
}

const oscilador = (t, [posicion, velocidad]) => [velocidad, -posicion];
let estado = [1, 0];
let t = 0;
const h = 0.1;

for (let n = 0; n < 100; n++) {
  estado = pasoEulerVector(oscilador, t, estado, h);
  t += h;
}

const energia = 0.5 * (estado[0] ** 2 + estado[1] ** 2);
console.log("estado final", estado);
console.log("energía inicial", 0.5, "energía final", energia);

En el oscilador exacto la energía es constante, pero Euler explícito la aumenta. Sus factores 1±ih tienen módulo mayor que uno. Reducir el paso ralentiza la deriva, aunque no elimina esa debilidad cualitativa.

13 · Qué puede y qué no puede hacer

Costo, ventajas y límites

Euler requiere una sola evaluación de f por paso, es fácil de implementar y constituye una referencia excelente para estudiar algoritmos más avanzados.

Sin embargo, su error de primer orden obliga a usar muchos pasos para ganar precisión. Además:

  • tiene una región de estabilidad pequeña;
  • puede violar positividad, energía u otras propiedades del modelo;
  • resulta ineficiente en problemas rígidos;
  • su trayectoria poligonal no aporta por sí sola una interpolación precisa entre nodos.

Euler es valioso como herramienta didáctica, aproximación rápida y punto de comparación. Para simulaciones exigentes conviene elegir el integrador según precisión, estabilidad y estructura del problema.

14 · Exploración interactiva

Laboratorio: paso, error e inestabilidad

La curva dorada es la solución exacta. La poligonal turquesa une los estados de Euler; sus puntos muestran dónde se vuelve a evaluar la pendiente.

EXPERIMENTO 32

Avanzar con la pendiente inicial

y′=y, y(0)=1

Los resultados numéricos aparecen debajo.
Euler en el extremo—
Valor exacto—
Error absoluto—
Paso h—
Factor 1+hλ—

Reducí el paso y observá la convergencia de primer orden.

Preguntas para explorar

  1. En crecimiento, duplicá los pasos varias veces. ¿Cómo cambia el error final?
  2. En decaimiento, buscá cuándo aparecen valores negativos aunque la solución exacta sea positiva.
  3. En decaimiento rápido, usá entre dos y cinco pasos. Relacioná la gráfica con |1+hλ|.
  4. En el modelo logístico, comprobá que una pendiente variable no tiene un único factor de amplificación.

15 · Comprensión

Confusiones frecuentes

«Euler sigue la pendiente exacta durante todo el paso»

Solo usa la pendiente al inicio. La pendiente real suele cambiar antes de llegar al siguiente nodo.

«Error local O(h²) significa que Euler es de orden dos»

No. Al acumular aproximadamente 1/h pasos, el error global es O(h); Euler tiene orden uno.

«Si reduzco h a la mitad, el error siempre será exactamente la mitad»

Es una tendencia asintótica. Redondeo, constantes del problema y pasos todavía grandes pueden alterar el cociente.

«Una solución acotada produce siempre valores numéricos acotados»

No si el paso viola la estabilidad del método. Euler puede crecer sobre una solución exacta que decae.

«Estable significa preciso»

La estabilidad evita cierto crecimiento artificial, pero dentro de la región estable el error todavía puede ser grande.

«En un sistema puedo actualizar una componente y usarla inmediatamente»

Eso mezcla tiempos. Todas las derivadas de un paso de Euler explícito se calculan desde el mismo estado anterior.

16 · Práctica guiada

Ejercicios

Ejercicio 1: un paso

Aplicá un paso de Euler con h=0.2 a y′=t−2y desde (t₀,y₀)=(0,1).

Ver solución

La pendiente inicial es f(0,1)=−2. Entonces t₁=0.2 y y₁=1+0.2(−2)=0.6.

Ejercicio 2: recurrencia cerrada

Para y′=3y, escribí yₙ en función de y₀, h y n.

Ver solución

Euler da yₙ₊₁=(1+3h)yₙ; por tanto, yₙ=(1+3h)ⁿy₀.

Ejercicio 3: estabilidad

¿Qué pasos hacen estable a Euler para y′=−8y?

Ver solución razonada

Debe cumplirse |1−8h|<1, de donde 0<h<0.25. Para preservar además el signo positivo se necesita h≤0.125.

Ejercicio 4: error observado

Con pasos h y h/2 se obtienen errores 0.018 y 0.0094. Estimá el orden observado.

Ver solución

p≈log₂(0.018/0.0094)≈0.94, compatible con el orden global uno de Euler.

Ejercicio 5: sistema

Desde (x₀,v₀)=(1,0), aplicá un paso con h=0.1 al sistema x′=v, v′=−x.

Ver solución

Ambas derivadas se evalúan en (1,0): x₁=1+0.1·0=1 y v₁=0+0.1(−1)=−0.1.

17 · Síntesis

Ideas para recordar

  • Euler reemplaza cada arco por la tangente en el extremo izquierdo.
  • Su fórmula es yₙ₊₁=yₙ+h f(tₙ,yₙ).
  • Puede derivarse truncando Taylor o aplicando el rectángulo izquierdo a la forma integral.
  • El defecto de un paso es O(h²) y el error global es O(h).
  • Al dividir h por dos, el error global tiende a reducirse por un factor cercano a dos.
  • Para y′=λy, el factor de amplificación es 1+hλ.
  • Consistencia no garantiza estabilidad para cualquier tamaño de paso.
  • En sistemas, todas las componentes avanzan desde el mismo estado anterior.
  • Comparar h y h/2 es una verificación práctica básica.

En el próximo tema reemplazaremos la única pendiente inicial por una estimación de la pendiente media para construir Euler mejorado y el método del punto medio.