Métodos numéricos · Tema 33

Método de Euler

Avanzar sobre la recta tangente, convertir una derivada en un algoritmo y aprender a medir el error y la estabilidad de la aproximación.

01 · La idea más directa

Usar la pendiente actual para predecir el próximo estado

Consideremos el problema de valor inicial

y′=f(t,y),    y(t₀)=y₀

En el punto (tn,yn), la ecuación permite calcular la pendiente f(tn,yn). Si suponemos que esa pendiente permanece constante durante un intervalo corto h, el cambio estimado es

Δy≈h f(tn,yn)

Sumarlo al estado actual produce la regla de Euler explícito:

yn+1=yn+h f(tn,yn),    tn+1=tn+h

02 · Derivación geométrica

La recta tangente es una aproximación local de la curva

La linealización de una función diferenciable alrededor de tn es

y(t)≈y(tn)+y′(tn)(t−tn)

Al evaluar en t=tn+h y sustituir y′=f(t,y):

y(tn+h)≈y(tn)+h f(tn,y(tn))

Como normalmente no conocemos y(tn), usamos su aproximación yn. El extremo del segmento se convierte en el punto inicial del paso siguiente. Por eso los pequeños errores de cada paso también influyen en las pendientes futuras.

1 · Observar(tn, yn) 2 · Evaluark=f(tn,yn) 3 · Avanzaryn+1=yn+hk

03 · Otra mirada

Euler aproxima el área acumulada con un rectángulo

Integrar la ecuación entre dos nodos da una identidad exacta:

y(tn+1)=y(tn)+∫tₙtₙ₊₁ f(t,y(t)) dt

Euler aproxima la integral por un rectángulo de ancho h y altura igual a la pendiente del extremo izquierdo:

∫tₙtₙ₊₁ f(t,y(t))dt≈h f(tn,yn)

Las interpretaciones geométrica e integral describen la misma operación. La primera habla de una recta tangente; la segunda, del área bajo la tasa de cambio. Esta segunda mirada anticipa por qué promediar pendientes puede mejorar el resultado.

04 · Cálculo paso a paso

Aproximar un decaimiento exponencial a mano

Para y′=−0,7y, y(0)=1 y h=0,5, la pendiente depende del estado actual. La regla queda

yn+1=yn+0,5(−0,7yn)=0,65yn
Primeros cuatro pasos de Euler.
ntnynf(tn,yn)yn+1
00,01,000000−0,7000000,650000
10,50,650000−0,4550000,422500
21,00,422500−0,2957500,274625
31,50,274625−0,1922380,178506

En t=2, Euler obtiene aproximadamente 0,178506, mientras la solución exacta e−0,7t vale aproximadamente 0,246597. La poligonal decae demasiado rápido con este paso.

05 · Precisión

El error local es cuadrático; el error global es lineal

La expansión de Taylor de la solución exacta contiene el término que Euler descarta:

y(tn+h)=y(tn)+hy′(tn)+h²y″(ξ)/2

Si el paso comenzara desde el valor exacto, el defecto cometido en ese único paso sería de orden O(h²): es el error de truncamiento local. Pero para recorrer un intervalo fijo hacen falta aproximadamente 1/h pasos, y los errores se propagan. Bajo condiciones regulares, el error global de Euler es O(h).

Error local

O(h²)

Defecto de un paso iniciado desde el valor exacto.

Error global

O(h)

Diferencia acumulada al llegar a un tiempo fijo.

En la región asintótica, dividir h por dos debería dividir aproximadamente por dos el error global. Esa relación permite verificar experimentalmente el orden del método.

06 · Estabilidad

Un paso demasiado grande puede inventar oscilaciones o crecimiento

Para la ecuación de prueba y′=λy, Euler produce

yn+1=(1+hλ)yn

El número 1+hλ es el factor de amplificación. Si λ<0, la solución exacta decae. La aproximación también decae hacia cero solamente cuando

|1+hλ|<1

Para λ=−0,7, esto exige 0<h<2/0,7≈2,857. El comportamiento cambia dentro de ese intervalo:

Comportamiento de Euler para un decaimiento real.
CondiciónFactorResultado numérico
0<h<1/|λ|Entre 0 y 1Decaimiento monótono.
h=1/|λ|0Llega artificialmente a cero en un paso.
1/|λ|<h<2/|λ|Entre −1 y 0Decae, pero alterna de signo.
h>2/|λ|Menor que −1Oscilaciones crecientes: inestabilidad.

07 · Más de una variable

La misma regla avanza vectores de estado

Si Y(t) contiene varias variables y Y′=F(t,Y), Euler opera componente a componente:

Yn+1=Yn+hF(tn,Yn)

Para un oscilador escrito como x′=v, v′=−ω²x:

xn+1=xn+hvn,    vn+1=vn−hω²xn

Ambas derivadas deben evaluarse con el mismo estado viejo (xn,vn). Si se actualiza x y luego se usa xn+1 para calcular v, ya no se aplica Euler explícito, sino una variante semimplícita.

08 · Diseño del integrador

Modelo, paso de Euler y recorrido son responsabilidades distintas

  1. Definir el modelo.

    Una función recibe tiempo y estado, y devuelve la derivada.

  2. Evaluar la pendiente.

    Calcular k=f(t,y) sin modificar el estado.

  3. Construir el próximo estado.

    Aplicar ySiguiente=y+h·k a cada componente.

  4. Avanzar el reloj.

    Usar el paso real, que puede ser menor al final del intervalo.

  5. Registrar una copia.

    Guardar el nuevo punto y los diagnósticos necesarios.

  6. Validar.

    Detectar NaN, infinitos, exceso de pasos y estados fuera del dominio.

Esta separación hace posible sustituir Euler por un método mejor sin cambiar la ecuación ni el código que administra la trayectoria.

09 · Cómo confiar en el resultado

Comparar, refinar y comprobar propiedades

Pruebas recomendadas para una implementación de Euler.
PruebaQué hacerQué revela
Derivada constanteResolver y′=c.Euler debe ser exacto salvo redondeo.
Solución conocidaComparar con y=eλt.Error absoluto y relativo.
RefinamientoRepetir con h, h/2 y h/4.Convergencia y orden observado.
InvariantesRevisar positividad, cotas o conservación esperada.Pasos inadecuados o errores de código.
UnidadesVerificar que hf tenga unidades de estado.Parámetros o fórmulas incompatibles.

Si E(h) es el error final, el orden observado entre dos ejecuciones puede estimarse mediante

p≈log₂(E(h)/E(h/2))

Para Euler se espera p≈1 cuando el paso es suficientemente pequeño y el redondeo todavía no domina.

10 · Exploración interactiva

Laboratorio: curva exacta, tangentes y poligonal de Euler

El modelo es y′=−λy, y(0)=1. Modificá la tasa, el paso y el tiempo final. La línea violeta es la solución exacta; la poligonal amarilla se construye exclusivamente con pendientes de Euler.

EXPERIMENTO 33

Avanzar sobre tangentes

y′=−0,70y · y(0)=1 · h=0,50 · tf=5,00

Los resultados numéricos aparecen debajo.
PasosN = 10
Euler al finalyN = 0,01
Valor exactoy(tf) = 0,03
Error absoluto0,02

Factor por paso: 0,65. Aproximación estable y monótona.

El gráfico muestra la solución exacta, los nodos de Euler y segmentos tenues de las rectas tangentes usadas en cada paso.

Preguntas para explorar

  1. Compará h=1, h=0,5 y h=0,25. ¿Cómo cambia el error final?
  2. Fijá λ=1,5 y aumentá h. ¿Cuándo los valores empiezan a alternar de signo?
  3. Buscá una combinación con |1−hλ|>1. ¿Qué relación tiene con el gráfico inestable?
  4. ¿Por qué el último paso acortado puede tener un factor diferente del indicado para el paso nominal?

11 · Implementación en JavaScript

Escribir un paso simple y un simulador reutilizable

Un paso escalar de Euler

function pasoEuler(f, t, y, h) {
  const pendiente = f(t, y);
  return y + h * pendiente;
}

const modelo = (t, y) => -0.7 * y;
const y1 = pasoEuler(modelo, 0, 1, 0.5);
console.log(y1); // 0.65

Integrar hasta un tiempo final

function resolverEuler({ f, t0, tf, y0, h }) {
  if (![t0, tf, y0, h].every(Number.isFinite) || tf < t0 || h <= 0) {
    throw new RangeError("Datos inválidos");
  }
  let t = t0;
  let y = y0;
  const puntos = [{ t, y }];
  const maxPasos = Math.ceil((tf - t0) / h) + 1;

  for (let n = 0; n < maxPasos && t < tf; n++) {
    const hn = Math.min(h, tf - t);
    y = y + hn * f(t, y); // f usa el estado y el tiempo viejos
    t = Math.min(tf, t + hn);
    if (!Number.isFinite(y)) throw new RangeError("Estado no finito");
    puntos.push({ t, y });
  }
  return puntos;
}

const trayectoria = resolverEuler({
  f: (t, y) => -0.7 * y,
  t0: 0, tf: 5, y0: 1, h: 0.5
});
console.table(trayectoria);

Generalizar a un vector de estado

function pasoEulerVectorial(f, t, estado, h) {
  const derivada = f(t, estado);
  if (derivada.length !== estado.length) {
    throw new RangeError("Dimensiones incompatibles");
  }
  return estado.map((valor, i) => valor + h * derivada[i]);
}

const oscilador = (t, [x, v]) => [v, -x];
let estado = [1, 0];
estado = pasoEulerVectorial(oscilador, 0, estado, 0.1);
console.log(estado); // [1, -0.1]

12 · Comprensión

Confusiones frecuentes

«Euler sigue la curva exacta entre dos nodos»

No. Sigue la recta tangente calculada al comienzo del paso y solo vuelve a evaluar la pendiente en el nodo siguiente.

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

El orden del método se refiere habitualmente al error global. Tras acumular pasos, Euler es de orden uno: O(h).

«Si el cálculo no explota, el resultado es preciso»

Puede ser estable y aun tener un error grande. Estabilidad y precisión deben comprobarse por separado.

«Conviene actualizar una componente y reutilizarla enseguida»

Eso mezcla estados viejos y nuevos. En Euler explícito todas las derivadas pertenecen al mismo estado inicial del paso.

«Euler siempre conserva positividad»

No. En y′=−λy, si hλ>1, el factor es negativo aunque la solución exacta permanezca positiva.

«Reducir h una vez demuestra que hay convergencia»

Conviene usar varios refinamientos y observar una razón de errores coherente con el orden esperado.

13 · Práctica guiada

Ejercicios de comprensión

Ejercicio 1: un paso

Para y′=t+y, y(0)=1 y h=0,2, calculá y₁.

Ver solución

f(0,1)=1; entonces y₁=1+0,2·1=1,2 y t₁=0,2.

Ejercicio 2: tres pasos

Aplicá Euler a y′=−y, y(0)=2, con h=0,25 hasta t=0,75.

Ver solución

El factor es 1−h=0,75. Así, y₁=1,5, y₂=1,125 y y₃=0,84375.

Ejercicio 3: error

En el ejercicio anterior, compará y₃ con el valor exacto 2e−0,75≈0,944733.

Ver solución

El error con signo es 0,84375−0,944733≈−0,100983; el error absoluto es aproximadamente 0,100983.

Ejercicio 4: estabilidad

Para y′=−4y, determiná el intervalo de pasos que hace estable a Euler.

Ver solución razonada

Debe cumplirse |1−4h|<1. Esto equivale a 0<h<0,5. En h=0,5 el factor vale −1 y no hay decaimiento.

Ejercicio 5: sistema

Para x′=v, v′=−x, estado inicial (1,0) y h=0,1, calculá dos pasos de Euler.

Ver solución

Primer paso: (x₁,v₁)=(1,−0,1). Segundo paso, usando ambas componentes viejas: (x₂,v₂)=(0,99,−0,2).

Ejercicio 6: orden observado

Una prueba obtiene errores finales E(0,2)=0,048 y E(0,1)=0,025. Estimá el orden.

Ver solución razonada

p≈log₂(0,048/0,025)≈0,94, cercano a 1 y compatible con el orden global de Euler.

14 · Síntesis

Ideas para recordar

  • Euler aproxima cada tramo de solución mediante la tangente en el extremo izquierdo.
  • Su regla es yn+1=yn+hf(tn,yn).
  • También puede interpretarse como una aproximación rectangular de la integral de la derivada.
  • El error local es O(h²) y el error global es O(h).
  • Reducir el paso mejora normalmente la precisión, pero aumenta el costo.
  • Para y′=λy, la estabilidad depende de |1+hλ|.
  • Estabilidad no implica precisión ni preservación de positividad.
  • En sistemas, todas las componentes se actualizan desde el mismo estado viejo.
  • Una implementación se valida con soluciones conocidas, refinamiento e invariantes.

En el próximo tema mejoraremos la estimación usando una pendiente más representativa del intervalo: Euler mejorado y el método del punto medio.