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:
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:
Como y′(tₙ)=f(tₙ,y(tₙ)), al omitir el término cuadrático obtenemos:
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:
Euler aproxima la integral con un rectángulo cuya altura es la pendiente del extremo izquierdo:
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
Se denomina explícito porque el nuevo valor se calcula directamente a partir de datos conocidos. Con paso constante y N subintervalos:
- Inicializar
t=t₀ey=y₀. - Evaluar
pendiente=f(t,y). - Actualizar primero el estado con
y=y+h·pendiente. - 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:
| n | tₙ | yₙ | eᵗⁿ |
|---|---|---|---|
| 0 | 0 | 1 | 1 |
| 1 | 0.25 | 1.25 | 1.284025 |
| 2 | 0.50 | 1.5625 | 1.648721 |
| 3 | 0.75 | 1.953125 | 2.117000 |
| 4 | 1.00 | 2.441406 | 2.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:
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:
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:
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:
El número R(z)=1+z, donde z=hλ, es el factor de amplificación. La solución numérica decae solamente si:
Para λ real y negativo, esto exige 0<h<2/|λ|.
| h | 1−5h | Comportamiento |
|---|---|---|
| 0.1 | 0.5 | Decaimiento positivo |
| 0.3 | −0.5 | Decae alternando signos |
| 0.5 | −1.5 | Oscila 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/2y 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
NaNo 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:
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.
Avanzar con la pendiente inicial
y′=y, y(0)=1
Reducí el paso y observá la convergencia de primer orden.
Preguntas para explorar
- En crecimiento, duplicá los pasos varias veces. ¿Cómo cambia el error final?
- En decaimiento, buscá cuándo aparecen valores negativos aunque la solución exacta sea positiva.
- En decaimiento rápido, usá entre dos y cinco pasos. Relacioná la gráfica con
|1+hλ|. - 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.