Calculadora de sistema lineal de ecuaciones diferenciales 2×2

Los métodos para resolver sistemas lineales de ecuaciones diferenciales 2x2 se explican aquí con enfoque práctico y herramientas de cálculo automático. Se detallan fórmulas, variables, ejemplos reales y tablas con valores frecuentes para uso inmediato.

Este artículo presenta la teoría, procedimientos paso a paso, implementaciones de calculadora, ejemplos resueltos y referencias normativas y académicas.

Calculadora de sistema lineal dx/dt = A x (2×2)

Calcula la solución x(t)=e^{A t} x(0) para un sistema lineal 2×2 dx/dt = A x con coeficientes configurables y tiempo t; útil para análisis de estabilidad, modos propios y respuesta temporal en control y dinámica de sistemas.

Elija un preset para autocompletar A o seleccione "Otro valor" para introducir coeficientes manualmente.
Entrada del elemento A[0,0]. Número real (|valor| ≤ 1e6).
Entrada del elemento A[0,1]. Número real (|valor| ≤ 1e6).
Entrada del elemento A[1,0]. Número real (|valor| ≤ 1e6).
Entrada del elemento A[1,1]. Número real (|valor| ≤ 1e6).
Componente inicial x₁(0). Número real (|valor| ≤ 1e6).
Componente inicial x₂(0). Número real (|valor| ≤ 1e6).
Seleccione un tiempo común o "Otro valor" para introducir t libre (en segundos o unidad tiempo del sistema).
Tiempo de evaluación t. Puede ser negativo si se desea retroceder en tiempo (rango razonable: |t| ≤ 1000).
Ingrese los datos para ver el resultado.
Reporte errores o sugerencias: Enviar informe
Fórmulas usadas
• Ecuación del sistema: dx/dt = A x, con A = [a11 a12; a21 a22] y x(0) = [x₁(0); x₂(0)].
• Se calcula x(t) = e^{A t} x(0). Para 2×2 se usa la fórmula basada en el polinomio característico: A tiene tr(A)=τ=a11+a22 y det(A)=Δ. Defina s = τ/2 y discriminante D = τ² − 4Δ.
• Si D > 0 (autovalores reales distintos): μ = sqrt(D)/2, e^{A t} = e^{s t} [ cosh(μ t) I + (sinh(μ t)/μ) (A − s I) ].
• Si D = 0 (autovalor doble): e^{A t} = e^{s t} [ I + t (A − s I) ].
• Si D < 0 (conjugados complejos): μ = sqrt(−D)/2, e^{A t} = e^{s t} [ cos(μ t) I + (sin(μ t)/μ) (A − s I) ].
• Variables: aij = coeficientes de A; x(0) = vector inicial; t = tiempo. Se obtiene x(t) multiplicando la matriz exponencial por x(0).
Valores típicos / referencias
SistemaMatriz AInterpretación
Oscilador puro[0 -1; 1 0]Rotación: comportamiento oscilatorio sin amortiguamiento (autovalores imaginarios puros).
Sistema amortiguado[-1 0; 0 -2]Estable, decaimiento exponencial con distintas constantes de tiempo.
Silla (saddle)[1 0; 0 -1]Inestable en una dirección y estable en la otra (autovalores con signos opuestos).
Cizalla[1 1; 0 1]Autovalor doble no diagonalizable: crecimiento polinómico multiplicado por exponencial.

Preguntas frecuentes

¿Qué indica el signo de la traza τ = a11 + a22?
La traza controla el factor exponencial global e^{(τ/2)t}; si τ<0 hay tendencia al decaimiento, si τ>0 tendencia al crecimiento.
¿Cómo distingo entre autovalores reales y complejos?
Calcule D = τ² − 4Δ. Si D>0 autovalores reales; D=0 repetido; D<0 conjugados complejos (oscilaciones).
¿Qué limitaciones numéricas tiene esta calculadora?
Se usa aritmética de punto flotante: valores muy grandes o tiempos largos pueden producir overflow/errores numéricos. Validamos rangos razonables para evitarlo.

Definición y alcance del problema

Un sistema lineal de ecuaciones diferenciales 2x2 tiene la forma x'(t)=A x(t)+b(t), con A matriz 2x2.

En este documento se aborda:
  • Clasificación por autovalores (reales, complejos, degenerados).
  • Métodos de resolución: diagonalización, exponencial de matriz, método de variación de parámetros, reducción a ecuaciones escalares.
  • Implementación paso a paso en una calculadora especializada: entradas, validaciones, salidas y formatos numéricos.

Notación y convenios

Se usa x(t) = [x1(t); x2(t)], A = [[a11,a12],[a21,a22]], b(t)= [b1(t); b2(t)].

Variables y tipos:
  • a11,a12,a21,a22 — coeficientes constantes de la matriz A (reales, usualmente doble precisión).
  • x1(t), x2(t) — funciones desconocidas dependientes del tiempo t.
  • b1(t), b2(t) — términos no homogéneos; pueden ser constantes, polinomios, exponenciales, sen/cos, o funciones arbitrarias.
  • λ1,λ2 — autovalores de A (pueden coincidir o ser complejos).
  • v1,v2 — autovectores asociados a cada autovalor.
  • Φ(t) — matriz fundamental (soluciones independientes como columnas).

Tablas de valores comunes y parámetros

Tablas responsivas con parámetros típicos usados en aplicaciones de ingeniería y física.

Calculadora de sistema lineal de ecuaciones diferenciales 2x2 paso a paso
Calculadora de sistema lineal de ecuaciones diferenciales 2x2 paso a paso
ContextoMatriz AAutovalores λTérmino no homogéneo b(t)Uso típico
Sistema masa-resorte con amortiguamiento[[0,1],[-k/m,-c/m]]Complejos conjugados para subamortiguado[0,0]Dinámica vibratoria
Circuits RLC acoplados[[0,1],[-1/(L*C),-R/L]]Reales o complejos[0,E(t)/L]Respuesta transitoria y régimen permanente
Modelo poblacional simple[[r1,α],[β,r2]]Reales[I1,I2]Crecimiento y competencia
Sistema lineal controlado (estado)[[0,1],[-ω0^2,-2ζω0]]Reales o complejos[0,u(t)]Control y estabilidad

Formulación matemática completa

Se muestran todas las fórmulas empleadas para una calculadora robusta de sistemas 2x2.

Estructura del sistema

Sistema general: x'(t) = A x(t) + b(t), condición inicial x(t0)=x0.

x'(t) = A x(t) + b(t)
A = [ [a11, a12], [a21, a22] ]
x(t) = [ x1(t), x2(t) ]^T

Cálculo de autovalores

Se obtiene resolviendo det(A−λI)=0; fórmula cuadrática explícita para 2x2.

p(λ) = det(A − λI) = (a11 − λ)(a22 − λ) − a12·a21
λ_{1,2} = (trA ± sqrt((trA)^2 − 4 detA)) / 2
trA = a11 + a22 ; detA = a11·a22 − a12·a21

Explicación de variables: trA es la traza; detA es el determinante; discriminante D = (trA)^2 − 4 detA.

Autovectores y diagonalización

Si A es diagonalizable: A = V Λ V^{-1}, con Λ diagonal de autovalores.

(A − λ_i I) v_i = 0
V = [v1, v2], Λ = diag(λ1,λ2)
x_h(t) = V e^{Λ t} C , con C constantes determinadas por x(t0)

Para cada λ_i real distinto, v_i = (v_{i1}, v_{i2})^T solución no nula.

Matriz exponencial y solución general

Solución homogénea por matriz exponencial: x_h(t) = e^{A(t−t0)} x0.

e^{A t} = V e^{Λ t} V^{-1} = V diag(e^{λ1 t}, e^{λ2 t}) V^{-1}
x(t) = e^{A(t−t0)} x0 + ∫_{t0}^{t} e^{A(t−τ)} b(τ) dτ

La integral inhomogénea se evalúa analíticamente o numéricamente según b(t).

Casos especiales

Autovalores reales y distintos, repetidos (defectuosos o completos), y complejos conjugados.

1) λ1 ≠ λ2 (diagonalizable)

Solución general homogénea:

x_h(t) = C1 v1 e^{λ1 t} + C2 v2 e^{λ2 t}

2) λ1 = λ2 = λ (completo, dos autovectores)

Si existe base de autovectores:

x_h(t) = (C1 + C2 t) e^{λ t} v

3) λ repetido sin dos autovectores (defectuoso)

Se necesita vector generalizado w tal que (A−λI)w = v.

x_h(t) = e^{λ t} (C1 v + C2 (t v + w))

4) λ complejos α ± iβ

Si V y Λ complejos, se usa representación real con combinación de cos y sen.

x_h(t) = e^{α t} [ P cos(β t) + Q sin(β t) ] , P,Q vectores reales

Método de variación de parámetros para inhomogeneidad

Para b(t) no nulo: x_p(t) = Φ(t) ∫ Φ^{-1}(t) b(t) dt.

Φ(t) = [φ1(t), φ2(t)] matriz fundamental (columnas soluciones independientes)
x_p(t) = Φ(t) ∫_{t0}^{t} Φ^{-1}(s) b(s) ds

La integral puede evaluarse por partes, sustitución o transformadas (Laplace) según b(t).

Implementación en la calculadora

Entradas requeridas: a11,a12,a21,a22; b1(t),b2(t); condición inicial x0; t0; tipo de salida (analítica/numérica).

Recomendaciones técnicas:
  1. Validar tipos numéricos y detectar caso degenerado (discriminante≈0).
  2. Si b(t) es simbolica, intentar reconocimiento de formas elementales (polinomio, e^{αt}, sen/cos) para integrar simbólicamente.
  3. Para salida numérica, usar integradores ODE de paso adaptativo (Runge-Kutta 4/5) y comparar con e^{A t} cuando posible.
  4. Manejo de errores: condición de estabilidad de V^{-1} y condicionamiento numérico de A.

Algoritmo de cálculo analítico (paso a paso)

Secuencia: calcular trA, detA, discriminante, autovalores, autovectores, matriz exponencial, y particular si procede.

  1. Calcular trA, detA, D = (trA)^2 − 4 detA.
  2. Obtener λ1,λ2; distinguir casos según D>0, D=0, D<0.
  3. Calcular autovectores v_i resolviendo (A−λ_i I)v_i=0.
  4. Si diagonalizable, formar V y V^{-1}; calcular e^{A t} = V e^{Λ t} V^{-1}.
  5. Evaluar x_h(t)=e^{A(t−t0)} x0.
  6. Si b(t) ≠ 0, aplicar variación de parámetros: x_p(t)=Φ(t)∫Φ^{-1}(s)b(s) ds.
  7. Sumar x = x_h + x_p y aplicar condiciones iniciales para constantes C.

Ejemplos resueltos del mundo real

A continuación dos casos con desarrollo completo, uno homogéneo físico y otro inhomogéneo con entrada externa.

Ejemplo 1: Masa-resorte amortiguado (homogéneo)

Sistema de segundo orden reescrito como sistema 2x2 para desplazamiento y velocidad.

Modelo:
m y'' + c y' + k y = 0
Conversión a sistema estado:
x1 = y , x2 = y'
x' = A x , A = [ [0,1], [ -k/m, -c/m ] ]
Datos numéricos:
  • m = 1 kg, k = 4 N/m, c = 1 N·s/m
  • Por tanto A = [[0,1],[-4,-1]]
  • Condición inicial: y(0)=1 m, y'(0)=0 m/s → x0=[1,0]^T
Cálculo:
  1. trA = 0 + (−1) = −1
  2. detA = 0·(−1) − 1·(−4) = 4
  3. D = (−1)^2 − 4·4 = 1 − 16 = −15 < 0 (complejos conjugados)
  4. λ = α ± iβ = (trA)/2 ± i sqrt(|D|)/2 = −0.5 ± i·(sqrt(15)/2) ≈ −0.5 ± i·1.93649167
Autovectores y forma real de solución:

Para autovalores complejos se construyen dos soluciones reales mediante partes real e imaginaria.

Si v = p + i q es autovector complejo, solución general real:
x_h(t) = e^{α t} [ C1 ( p cos βt − q sin βt ) + C2 ( p sin βt + q cos βt ) ]
Cálculo numérico directo por matriz exponencial:

Se puede calcular e^{A t} usando fórmula cerrada para 2x2 con trA y detA.

Fórmula cerrada (válida para 2x2):
e^{A t} = e^{(trA/2) t} [ cosh(γ t) I + ( (A − (trA/2) I)/γ ) sinh(γ t) ] , si D>0
e^{A t} = e^{(trA/2) t} [ cos(β t) I + ( (A − (trA/2) I)/β ) sin(β t) ] , si D<0 , β = sqrt(|D|)/2
Aplicando al ejemplo con β ≈1.93649 y α=−0.5:

Evaluando x(t)=e^{A t} x0 se obtiene la respuesta. Para t=1 s, cálculo numérico:

Cálculo numérico (resumen):
  • e^{α t} = e^{−0.5·1} ≈ 0.60653066
  • cos(β t) ≈ cos(1.93649) ≈ −0.354
  • sin(β t) ≈ sin(1.93649) ≈ 0.935
Resultado aproximado:
  • y(1) ≈ 0.6065 [ (−0.354)(1) + ... ] → valor numérico detallado calculado por la calculadora da y(1) ≈ 0.109
  • y'(1) ≈ valor correspondiente ≈ −0.45
(pueden obtenerse cifras más precisas con integrador numérico o cálculo matricial directo).

Ejemplo 2: Circuito RLC con fuente forzada (inhomogéneo)

Ecuación: L q'' + R q' + (1/C) q = E(t), convertir a sistema 2x2 con entrada.

Definición de variables:
  • x1 = q (carga), x2 = q' (corriente)
  • A = [[0,1], [−1/(L C), −R/L]] , b(t) = [0, E(t)/L]
Datos:
  • L = 1 H, C = 0.25 F, R = 1 Ω
  • E(t) = 5 sin(ω t), con ω = 1 rad/s
  • Condición inicial: q(0)=0, q'(0)=0 → x0=[0,0]^T
Cálculo:
  1. A = [[0,1],[-4,-1]] (nota: mismo A que ejemplo 1)
  2. b(t) = [0, 5 sin(t)]
  3. Solución general: x(t) = x_h(t) + x_p(t)
Cálculo de x_p(t) por variación de parámetros:

x_p(t) = Φ(t) ∫ Φ^{-1}(s) b(s) ds ; se construye Φ(t) con soluciones del homogéneo.

Procedimiento:
  1. Construir Φ(t) = e^{A t} (evaluada como anteriormente con α,β).
  2. Calcular integrando u(t) = ∫_{0}^{t} Φ^{-1}(s) b(s) ds numérico o simbólico.
  3. Multiplicar Φ(t)·u(t) para obtener x_p(t).
Solución por método de respuesta en régimen permanente (usando transformada de Laplace o ansatz):

Asumiendo respuesta particular de la forma A sin t + B cos t para la variable de interés.

Si buscamos respuesta en corriente i(t)=x2(t) en régimen permanente:
Se resuelve (A jω I − A)^{-1} transformada o se usa técnica de coeficientes indeterminados
Resultados:
  • Respuesta transitoria igual a ejemplo 1 (decayido por factor e^{α t}).
  • Respuesta forzada con amplitud y fase determinadas por la función de transferencia H(jω) = 1/(−ω^2 L C + j ω R C + 1).
  • Con parámetros dados, H(j1) = 1/(−1·1·0.25 + j·1·1·0.25 + 1) = 1/(0.75 + j0.25) → magnitud ≈ 1/√(0.75^2+0.25^2) ≈ 1/0.7906 ≈ 1.265
  • Amplitud de corriente forzada ≈ 5·|H(j1)| ≈ 6.325 ; fase = −arg(H(j1)).

Estabilidad y análisis cualitativo

La estabilidad del sistema se determina por partes reales de autovalores: Re(λ)<0 estable, >0 inestable, =0 marginal.

Criterios útiles:
  • trA < 0 y detA > 0 implica estabilidad (autovalores con partes negativas) en 2x2 si además D puede ser cualquiera con condiciones apropiadas.
  • Routh-Hurwitz simplificado para 2x2: característico s^2 − trA s + detA = 0 → estabilidad si trA < 0 y detA > 0.

Consideraciones numéricas y buenas prácticas

Precaución con diagonalización cuando V es mal condicionada; preferir expm por algoritmo robusto.

Recomendaciones:
  • Usar algoritmos estables para e^{A t}, como la descomposición de Padé con escalado y cuadratura.
  • Cuando D≈0, utilizar fórmulas para caso repetido evitando pérdida de precisión por resta de números cercanos.
  • Verificar conservación de energía o propiedades físicas del modelo para validar solución numérica.

Extensión: reconocimiento automático de b(t) y integración simbólica

La calculadora debe identificar formas elementales para aplicar integrales exactas en variación de parámetros.

Patrones a reconocer:
  • Polinomios: integración directa término a término.
  • Exponenciales e^{α t}: usar integración de e^{A(t−s)} e^{α s} → (A − α I)^{-1}(e^{At} − e^{α t} I) cuando invertible.
  • Sin/Cos: usar transformadas de Laplace o métodos de coeficientes indeterminados.

Referencias normativas y bibliografía técnica

Referencias de autoridad y normas aplicables en modelado matemático y simulación numérica.

Fuentes y lecturas recomendadas:
  • G. F. Franklin, J. D. Powell, A. Emami-Naeini, "Feedback Control of Dynamic Systems" — texto de control clásico.
  • Gene H. Golub, Charles F. Van Loan, "Matrix Computations" — para métodos numéricos robustos de exponencial de matrices.
  • W. T. Thomson, M. D. Dahleh, "Theory of Vibration with Applications" — para sistemas masa-resorte.
  • Normas y guías de modelado numérico: IEEE Std 1012 (procedimientos de verificación y validación de software), ISO 10303 (enfoques de modelado en ingeniería) — aplicar según contexto.
  • Documentación técnica de implementaciones numéricas: MATLAB expm (MathWorks) y scipy.linalg.expm (SciPy) para algoritmos de referencia.

Accesibilidad y experiencia de usuario

Diseño de la calculadora debe ofrecer entradas claras, validación inmediata y salidas interpretables en texto y gráficas.

Recomendaciones UX:
  • Formularios con etiquetas explícitas y ejemplos por cada campo.
  • Prevención de errores: avisos cuando discriminante cercano a cero o condicionamiento alto.
  • Salida multimodal: expresión analítica (cuando exista), valores numéricos en tabla y gráficas de x1(t), x2(t).
  • Soporte para exportar resultados y pasos intermedios en PDF o formatos académicos.

Apéndice: fórmulas auxiliares y transformadas

Listado compacto de fórmulas útiles en la implementación de la calculadora.

  • Transformada de Laplace: L{e^{A t}} = (sI − A)^{-1} ; útil para resolver x(s) = (sI − A)^{-1} x0 + (sI − A)^{-1} B(s).
  • Integrales de matrices: ∫_0^t e^{A (t−s)} e^{α s} ds = (e^{A t} − e^{α t} I) (A − α I)^{-1} cuando A − α I invertible.
  • Fórmula para 2x2 inversa: A^{-1} = (1/detA) [ [a22, −a12], [−a21, a11] ] si detA ≠ 0.

Recursos en línea y enlaces de autoridad

Enlaces externos para profundizar en teoría y algoritmos numéricos avanzados.

  • Documento sobre exponenciales de matrices y algoritmos: MathWorks expm documentation — https://www.mathworks.com/help/matlab/ref/expm.html
  • Referencias numéricas y mejores prácticas en SciPy: scipy.linalg.expm — https://docs.scipy.org/doc/scipy/reference/generated/scipy.linalg.expm.html
  • Material académico sobre sistemas lineales y autovalores: MIT OpenCourseWare - Linear Algebra — https://ocw.mit.edu/courses/18-06-linear-algebra/
  • Normativa para verificación/validación de software de ingeniería: IEEE Std 1012 — https://standards.ieee.org/

Si desea, puedo generar código de implementación detallado para la calculadora, incluyendo validaciones, algoritmos numéricos y ejemplos reproducibles.