01 · Una forma común
Los integradores trabajan con estados de primer orden
Una ecuación escalar de orden n puede escribirse en forma explícita como
Aunque contiene una derivada de orden alto, puede reorganizarse como n ecuaciones de primer orden. La idea es tratar cada derivada necesaria para predecir la siguiente evolución como una componente del estado.
Esta conversión no aproxima ni cambia la ecuación: conserva exactamente sus soluciones mientras estén suficientemente derivables.
02 · La receta general
Cada componente desplaza la cadena de derivadas
Definimos
Al derivar cada definición:
Las primeras n−1 ecuaciones solo desplazan información. La última contiene toda la ley dinámica original.
03 · Ejemplo paso a paso
Convertir una ecuación de tercer orden
Consideremos
Primero despejamos la derivada de mayor orden:
Definimos y₁=y, y₂=y′ y y₃=y″. El sistema equivalente es
En forma vectorial:
El orden de las componentes debe mantenerse de manera consistente. Intercambiar y′ y y″ cambia el modelo.
04 · Estado inicial completo
Los datos iniciales se convierten en un vector
Una ecuación de orden n necesita normalmente los valores de y y sus primeras n−1 derivadas en un mismo instante:
Después de la conversión, todos esos datos forman una sola condición vectorial:
Para el ejemplo anterior, si y(0)=1, y′(0)=0 y y″(0)=−1, entonces Y(0)=[1,0,−1]. La derivada inicial del estado se obtiene evaluando el sistema:
La tercera componente es sin(0)−2(−1)−2(0)−1=1.
05 · Dos direcciones de la correspondencia
Por qué ambas formulaciones son equivalentes
Si y(t) resuelve la ecuación escalar, entonces el vector formado por sus derivadas satisface todas las ecuaciones del sistema por construcción.
En la dirección inversa, si Y(t)=[y₁,…,yn] resuelve el sistema, las relaciones y₁′=y₂, y₂′=y₃, etc. implican
La última ecuación garantiza que y₁ satisface la EDO original. Así, recuperar la solución escalar consiste simplemente en tomar la primera componente.
Forma escalar
Una incógnita
Una función y varias derivadas sucesivas.
Forma de estado
Varias componentes
Un vector y solamente primeras derivadas.
06 · Matriz compañera
Las ecuaciones lineales producen un sistema matricial
Para la ecuación monómica
la forma de estado es Y′=AY+B g(t), con
Esta estructura se llama forma compañera. Los unos de la superdiagonal desplazan la cadena de derivadas y la última fila contiene los coeficientes de la ecuación con signo opuesto.
Para y‴+2y″+2y′+y=sin(t):
07 · Antes de convertir
Hay que despejar la derivada de mayor orden
Si el coeficiente principal no es uno, se divide primero. Por ejemplo:
Con Y=[y,y′,y″],
Olvidar dividir todos los términos cambia las escalas y genera un sistema incorrecto. En una forma implícita donde no puede despejarse la derivada superior, puede ser necesario trabajar con una ecuación diferencial algebraica, que excede la conversión directa de este tema.
| Pregunta | Motivo |
|---|---|
| ¿Cuál es el orden real? | Determina la dimensión mínima del estado. |
| ¿La derivada superior está despejada? | La última ecuación necesita una regla explícita. |
| ¿Todas las condiciones están en el mismo instante? | Se requiere un único vector inicial. |
| ¿Las componentes conservan sus unidades? | Ayuda a detectar intercambios y factores omitidos. |
08 · Un algoritmo para todos los órdenes
Los métodos vectoriales solo ven Y′=F(t,Y)
Una vez realizada la conversión, Euler, punto medio o Runge–Kutta operan componente por componente. Para Euler:
En el ejemplo de tercer orden, un paso actualiza simultáneamente y, y′ y y″. Usar valores ya actualizados para calcular otras componentes dentro del mismo paso produciría un método diferente y dependiente del orden del código.
La interfaz del integrador no necesita conocer el orden original. Solo recibe una función que devuelve un vector con la misma dimensión que el estado.
09 · Representar el modelo con claridad
Índices, nombres y metadatos evitan errores silenciosos
En un arreglo como [y,dy,d2y], la posición de cada elemento forma parte del contrato. Para sistemas grandes conviene documentar o centralizar ese esquema.
| Índice | Nombre | Significado | Derivada devuelta |
|---|---|---|---|
| 0 | y | Variable original. | dy |
| 1 | dy | Primera derivada. | d2y |
| 2 | d2y | Segunda derivada. | d3y=f(t,y,dy,d2y) |
Al almacenar una trayectoria, cada muestra debería incluir el tiempo y una copia del estado. Guardar repetidamente la misma referencia mutable haría que todas las muestras terminaran mostrando el último valor.
También es útil conservar unidades, nombres de componentes y parámetros junto al modelo para graficar y validar los resultados correctamente.
10 · Exploración interactiva
Laboratorio: una ecuación de tercer orden como estado
Simulá y‴+2y″+2y′+y=F sin(t). Los tres paneles muestran las componentes del estado calculadas juntas con Runge–Kutta de cuarto orden.
Estado de tres componentes
y‴ + 2y″ + 2y′ + y = 1,00 sin(t) · Y(0)=[1,00; 0,00; −1,00]
Una sola llamada al integrador actualiza las tres componentes del estado.
Cada panel usa su propia escala vertical porque y, y′ e y″ tienen unidades y rangos diferentes.
Preguntas para explorar
- Cambiá solo
y″(0). ¿Cómo afecta inicialmente ay′y luego ay? - Fijá los tres datos iniciales en cero y usá
F>0. ¿Qué componente comienza cambiando primero? - Fijá
F=0. ¿Cómo decae la respuesta libre? - Compará las escalas de los tres paneles. ¿Por qué no conviene superponerlos sin ejes separados?
11 · Representación en código
Construir y resolver el sistema vectorial
Crear la función de estado de tercer orden
function crearSistemaTercerOrden(forzamiento) {
return function sistema(t, estado) {
if (estado.length !== 3) throw new RangeError("Se esperaban 3 componentes");
const [y, dy, d2y] = estado;
const d3y = forzamiento(t) - 2 * d2y - 2 * dy - y;
return [dy, d2y, d3y];
};
}
const sistema = crearSistemaTercerOrden(t => Math.sin(t));
console.log(sistema(0, [1, 0, -1]));Un paso RK4 para cualquier dimensión
const combinar = (a, b, factor) =>
a.map((valor, i) => valor + factor * b[i]);
function pasoRK4(f, t, estado, h) {
const k1 = f(t, estado);
const k2 = f(t + h / 2, combinar(estado, k1, h / 2));
const k3 = f(t + h / 2, combinar(estado, k2, h / 2));
const k4 = f(t + h, combinar(estado, k3, h));
return estado.map((valor, i) =>
valor + h * (k1[i] + 2 * k2[i] + 2 * k3[i] + k4[i]) / 6
);
}
console.log(pasoRK4(sistema, 0, [1, 0, -1], 0.1));Guardar una trayectoria sin compartir referencias
function integrar(f, t0, estado0, h, pasos) {
let t = t0;
let estado = [...estado0];
const trayectoria = [{ t, estado: [...estado] }];
for (let i = 0; i < pasos; i++) {
estado = pasoRK4(f, t, estado, h);
t += h;
trayectoria.push({ t, estado: [...estado] });
}
return trayectoria;
}
const trayectoria = integrar(sistema, 0, [1, 0, -1], 0.05, 200);
console.log(trayectoria.at(-1));12 · Comprensión
Confusiones frecuentes
«Convertir agrega nuevas soluciones»
No: existe una correspondencia entre las soluciones escalares y las vectoriales compatibles.
«Una ecuación de orden n produce n+1 variables»
El estado llega hasta y(n−1), por lo que contiene exactamente n componentes.
«La última componente es y(n)»
y(n) es la derivada de la última componente, calculada por la ley.
«No hace falta despejar la derivada superior»
Un sistema explícito necesita una fórmula para la última derivada.
«Todas las componentes tienen las mismas unidades»
Cada derivación introduce una división por la unidad de la variable independiente.
«El integrador debe conocer el orden original»
Solo necesita Y′=F(t,Y), un estado inicial y parámetros de integración.
13 · Práctica guiada
Ejercicios de comprensión
Ejercicio 1: segundo orden
Convertí y″+4y′+3y=0 en un sistema de primer orden.
Ver solución
Con y₁=y, y₂=y′: y₁′=y₂ y y₂′=−3y₁−4y₂.
Ejercicio 2: cuarto orden
Convertí y⁽⁴⁾=t−y″.
Ver solución
Con Y=[y,y′,y″,y‴]: Y′=[y′,y″,y‴,t−y″], o [y₂,y₃,y₄,t−y₃].
Ejercicio 3: condiciones iniciales
Escribí el vector inicial para y⁽⁴⁾+y=0 si y(2)=1, y′(2)=−1, y″(2)=0, y‴(2)=3.
Ver solución
Y(2)=[1,−1,0,3].
Ejercicio 4: normalizar
Convertí 3y‴+6y′=9et.
Ver solución razonada
Primero, y‴=3et−2y′. Con Y=[y,y′,y″], Y′=[y′,y″,3et−2y′].
Ejercicio 5: matriz compañera
Escribí la matriz A para y‴+4y″+5y′+2y=0.
Ver solución
A=[0 1 0; 0 0 1; −2 −5 −4].
Ejercicio 6: recuperar la ecuación
¿Qué ecuación escalar representa Y′=[y₂,y₃,−6y₁−11y₂−6y₃]?
Ver solución razonada
Como y₁=y, y₂=y′ y y₃=y″, la última ecuación es y‴=−6y−11y′−6y″. Entonces y‴+6y″+11y′+6y=0.
14 · Síntesis
Ideas para recordar
- Una EDO explícita de orden
nequivale a un sistema denecuaciones de primer orden. - El estado estándar es
[y,y′,…,y(n−1)]. - Las primeras ecuaciones desplazan derivadas y la última contiene la dinámica original.
- Los datos iniciales forman un vector con
ncomponentes. - La derivada de mayor orden debe despejarse antes de convertir.
- Una ecuación lineal produce una matriz compañera.
- Las raíces características coinciden con los autovalores de esa matriz.
- Los integradores vectoriales no necesitan conocer el orden escalar original.
- La dimensión, el orden y las unidades de las componentes forman parte del contrato del modelo.
En el siguiente tema ampliaremos la mirada hacia sistemas que nacen con varias variables acopladas, sin proceder necesariamente de una sola ecuación escalar.