Métodos numéricos · Tema 34

Euler mejorado y método del punto medio

Evaluar dos pendientes por paso para representar mejor lo que ocurre dentro del intervalo y obtener precisión global de segundo orden.

01 · Más allá de la pendiente inicial

Una sola pendiente ignora cómo cambia la curva durante el paso

Euler explícito aproxima

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

y supone constante la pendiente del extremo izquierdo. Si la solución se curva, esa pendiente deja de ser representativa antes de llegar al nodo siguiente. Una mejora natural consiste en realizar una evaluación exploratoria dentro del paso y usarla para corregir el avance.

Euler

Una pendiente

Solo conoce el comienzo del intervalo.

Métodos RK2

Dos pendientes

Incorporan información del extremo o del centro.

02 · Euler mejorado o método de Heun

Predecir el extremo y promediar las pendientes

Primero se calcula la pendiente inicial y se realiza una predicción de Euler:

k₁=f(tn,yn),    y*=yn+hk₁

La predicción y* permite estimar la pendiente en el extremo derecho:

k₂=f(tn+h,y*)

Finalmente se avanza con el promedio de ambas pendientes:

yn+1=yn+h(k₁+k₂)/2
1 · Iniciok₁=f(tn,yn) 2 · Predictory*=yn+hk₁ 3 · Correctoryn+1=yn+h(k₁+k₂)/2

También se lo llama método del trapecio explícito, porque aproxima la integral de la derivada mediante el promedio de las alturas en ambos extremos. No debe confundirse con el trapecio implícito, que evalúa la pendiente en el estado final desconocido.

03 · Método del punto medio

Explorar el centro y usar allí la pendiente decisiva

El método del punto medio usa la pendiente inicial solamente para estimar el estado a mitad del intervalo:

k₁=f(tn,yn),    ym=yn+(h/2)k₁

Luego evalúa la pendiente central y avanza todo el paso con ella:

k₂=f(tn+h/2,ym),    yn+1=yn+hk₂
1 · Iniciok₁=f(tn,yn) 2 · Centro(tn+h/2,ym) 3 · Avanceyn+1=yn+hk₂

La pendiente usada para el avance completo no es k₁, sino k₂. Aunque Heun y punto medio son métodos diferentes, ambos pertenecen a la familia de Runge–Kutta explícitos de orden dos.

04 · Cálculo comparado

Un paso sobre una ecuación no lineal

Consideremos y′=−y², y(0)=1 y h=0,5. La solución exacta es y(t)=1/(1+t), por lo que y(0,5)=2/3≈0,666667.

Construcción del primer paso con tres métodos.
MétodoCálculos internosResultadoError absoluto
Eulerk₁=−11+0,5(−1)=0,50,166667
Heuny*=0,5; k₂=−0,251+0,25(−1−0,25)=0,68750,020833
Punto medioym=0,75; k₂=−0,56251+0,5(−0,5625)=0,718750,052083

En este paso Heun resulta más cercano, pero eso no establece que siempre sea superior. Ambos tienen el mismo orden; sus constantes de error dependen de la ecuación y del intervalo.

05 · Parecidos y diferencias

Dos evaluaciones, ubicadas y ponderadas de manera distinta

Comparación por cada paso aceptado.
CaracterísticaHeunPunto medio
Segunda evaluaciónEn tn+h, usando un predictor.En tn+h/2, usando medio paso.
Pendiente finalPromedio (k₁+k₂)/2.Solo k₂.
Evaluaciones de f22
Error localO(h³)O(h³)
Error globalO(h²)O(h²)
Ecuación lineal y′=λyMismo factor: 1+hλ+(hλ)²/2.

En ecuaciones no lineales o con dependencia temporal más compleja pueden dar valores diferentes. Que coincidan en una prueba lineal no significa que sus algoritmos sean idénticos.

06 · Precisión de segundo orden

Al reducir h a la mitad, el error global cae aproximadamente cuatro veces

Los dos métodos reproducen los términos de Taylor hasta orden dos. El defecto de un paso iniciado desde el valor exacto es O(h³). Tras aproximadamente 1/h pasos sobre un intervalo fijo, el error acumulado es

E(h)=O(h²)

En la región asintótica:

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

Euler explícito

O(h)

Mitad de paso: cerca de la mitad del error.

Heun y punto medio

O(h²)

Mitad de paso: cerca de un cuarto del error.

El costo por paso se duplica respecto de Euler, pero para una tolerancia moderada suele compensarse usando pasos considerablemente mayores.

07 · Estabilidad lineal

Mayor orden no significa estabilidad ilimitada

Al aplicar cualquiera de estos dos métodos a y′=λy, con z=hλ, se obtiene

yn+1=R(z)yn,    R(z)=1+z+z²/2

La aproximación es estable cuando |R(z)|<1. Sobre el eje real negativo, el intervalo estable es −2<z<0, el mismo alcance que Euler explícito. La mejora principal es la precisión dentro de la región estable, no una ampliación de ese intervalo.

Precisión y estabilidad responden preguntas diferentes.
PreguntaIndicadorInterpretación
¿Converge al refinar?Orden global 2El error disminuye como h².
¿Se amortiguan perturbaciones?|R(hλ)|<1El modo lineal no crece numéricamente.
¿Es adecuado para problemas rígidos?Región estable limitadaPuede exigir pasos extremadamente pequeños.

08 · Estados vectoriales

Las etapas son vectores completos, no actualizaciones componente por componente

Para Y′=F(t,Y), el método del punto medio se escribe

K₁=F(tn,Yn),   K₂=F(tn+h/2,Yn+(h/2)K₁)
Yn+1=Yn+hK₂

Cada etapa debe calcularse por completo antes de construir la siguiente. En un sistema SIR, por ejemplo, S, I y R de la etapa intermedia deben provenir del mismo vector y del mismo instante.

  1. Evaluar.

    Obtener todas las componentes de K₁ desde Yn.

  2. Construir la etapa.

    Crear un nuevo vector predictor o intermedio.

  3. Volver a evaluar.

    Calcular K₂ desde la etapa completa.

  4. Combinar.

    Producir un nuevo estado sin mutar los anteriores.

09 · Validación y elección

Medir el orden observado y contar evaluaciones

Una comparación justa debe informar tanto el error como el trabajo. Con N pasos, Euler usa aproximadamente N evaluaciones de f; Heun y punto medio usan 2N. El tiempo real también depende del costo del modelo y de la gestión de memoria.

Secuencia de validación recomendada.
PasoAcciónResultado esperado
1Probar y′=c.Resultado exacto salvo redondeo.
2Comparar con una solución conocida.Errores cuantificables.
3Usar h, h/2 y h/4.Razón de errores cercana a 4.
4Comparar Heun y punto medio.Coincidencia solo en casos particulares.
5Controlar invariantes y dominio.Detección de pasos físicamente inválidos.

Si no existe solución exacta, una trayectoria obtenida con un paso mucho menor o con un método de orden superior puede servir como referencia provisional.

10 · Exploración interactiva

Laboratorio: comparar tres métodos en un modelo no lineal

El modelo y′=−λy², y(0)=1, tiene solución exacta y(t)=1/(1+λt). Como la derivada es no lineal, Heun y punto medio generan trayectorias diferentes.

EXPERIMENTO 34

Dos maneras de elegir una mejor pendiente

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

Los errores numéricos aparecen debajo.
PasosN = 10
Error Euler0,00
Error Heun0,00
Error punto medio0,00

Heun obtiene el menor error final para esta configuración.

La curva exacta se compara con las poligonales de Euler, Heun y punto medio. El panel informa el error absoluto al tiempo final.

Preguntas para explorar

  1. Reducí h a la mitad. ¿El error de Heun y punto medio cae aproximadamente cuatro veces?
  2. ¿Heun es siempre el más preciso en todas las combinaciones de λ, h y tf?
  3. ¿En qué escala del gráfico deja de distinguirse visualmente una curva aunque los errores sigan siendo diferentes?
  4. Compará la mejora de error con el doble de evaluaciones requerido por los métodos de orden dos.

11 · Implementación en JavaScript

Codificar las etapas sin mezclar estados

Pasos escalares autónomos

function pasoHeun(f, t, y, h) {
  const k1 = f(t, y);
  const predictor = y + h * k1;
  const k2 = f(t + h, predictor);
  return y + h * (k1 + k2) / 2;
}

function pasoPuntoMedio(f, t, y, h) {
  const k1 = f(t, y);
  const estadoMedio = y + h * k1 / 2;
  const k2 = f(t + h / 2, estadoMedio);
  return y + h * k2;
}

Un integrador que recibe la regla de avance

function integrar({ f, paso, 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 trayectoria = [{ 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 = paso(f, t, y, hn);
    t = Math.min(tf, t + hn);
    if (!Number.isFinite(y)) throw new RangeError("Estado no finito");
    trayectoria.push({ t, y });
  }
  return trayectoria;
}

const modelo = (t, y) => -y * y;
console.log(integrar({
  f: modelo, paso: pasoHeun, t0: 0, tf: 2, y0: 1, h: 0.25
}));

Versión vectorial del punto medio

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

function pasoMedioVectorial(f, t, estado, h) {
  const k1 = f(t, estado);
  const estadoMedio = sumarEscalado(estado, k1, h / 2);
  const k2 = f(t + h / 2, estadoMedio);
  return sumarEscalado(estado, k2, h);
}

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

12 · Comprensión

Confusiones frecuentes

«Euler mejorado usa dos medios pasos de Euler»

No. Predice el extremo y promedia las pendientes inicial y final. Dos medios pasos constituyen otro procedimiento.

«El predictor de Heun es el resultado del paso»

El predictor solo sirve para evaluar k₂. El resultado es el valor corregido con el promedio.

«Punto medio avanza solamente h/2»

La etapa interna está en la mitad, pero la pendiente allí calculada se usa para avanzar un intervalo completo h.

«Como ambos son de orden dos, siempre producen el mismo valor»

Coinciden en algunos problemas, como la ecuación lineal autónoma, pero normalmente difieren en términos de orden superior.

«Segundo orden significa dos veces más precisión»

Significa que el error global escala como h²; la mejora concreta depende del paso y de la constante de error.

«Mayor orden elimina los problemas de estabilidad»

Estos métodos siguen siendo explícitos y tienen una región de estabilidad limitada.

13 · Práctica guiada

Ejercicios de comprensión

Ejercicio 1: un paso de Heun

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

Ver solución

k₁=1, predictor y*=1,2 y k₂=f(0,2;1,2)=1,4. Entonces y₁=1+0,2(1+1,4)/2=1,24.

Ejercicio 2: un paso de punto medio

Resolvé el mismo paso anterior con el método del punto medio.

Ver solución

k₁=1, estado medio 1+0,1·1=1,1 y k₂=f(0,1;1,1)=1,2. Por tanto, y₁=1+0,2·1,2=1,24.

Ejercicio 3: ecuación no lineal

Para y′=y², y(0)=1 y h=0,1, compará un paso de Heun y punto medio.

Ver solución razonada

Heun: k₁=1, k₂=1,1²=1,21, y₁=1,1105. Punto medio: estado medio 1,05, k₂=1,1025, y₁=1,11025.

Ejercicio 4: orden observado

Los errores con pasos h=0,2 y h=0,1 son 0,0124 y 0,0031. Estimá el orden.

Ver solución

p≈log₂(0,0124/0,0031)=log₂(4)=2. El resultado es consistente con un método de segundo orden.

Ejercicio 5: estabilidad

Para y′=−5y y h=0,3, calculá el factor de amplificación de Heun o punto medio.

Ver solución

z=−1,5 y R(z)=1−1,5+1,5²/2=0,625. Como su módulo es menor que 1, el modo decae numéricamente.

Ejercicio 6: costo

¿Cuántas evaluaciones del modelo requieren Euler, Heun y punto medio para 400 pasos?

Ver solución razonada

Euler requiere 400 evaluaciones. Heun y punto medio requieren 800 cada uno, sin contar evaluaciones adicionales para diagnósticos o eventos.

14 · Síntesis

Ideas para recordar

  • Euler mejorado predice el extremo y promedia las pendientes inicial y final.
  • Punto medio estima un estado central y usa su pendiente para avanzar todo el paso.
  • Ambos realizan dos evaluaciones de la derivada por paso.
  • Su error local es O(h³) y su error global es O(h²).
  • Reducir el paso a la mitad reduce aproximadamente cuatro veces el error global.
  • Los métodos pueden coincidir en problemas lineales y diferir en ecuaciones no lineales.
  • Para y′=λy comparten R(z)=1+z+z²/2.
  • El segundo orden mejora la precisión, pero no elimina restricciones de estabilidad.
  • En sistemas, cada etapa se construye como un vector completo e inmutable.

En el próximo tema combinaremos cuatro pendientes para construir el método de Runge–Kutta de cuarto orden.