∫Atlas Matemáticas Aplicadas

Inicio › Temas › Ecuaciones diferenciales

🌀 Ecuaciones diferenciales nivel medio

Oscilador armónico amortiguado

Masa y resorte con rozamiento: tres regímenes según el discriminante.

🕹️ Ábrelo en el curso interactivo (simulador y código ejecutable)

La idea

Una masa m unida a un resorte de constante k y sometida a un rozamiento proporcional a la velocidad cumple, por la segunda ley de Newton, la ecuación lineal de segundo orden m x″ + c x′ + k x = 0. Es el modelo de referencia de toda la física e ingeniería lineal: suspensiones, sismógrafos, circuitos RLC y microestructuras se describen con esta misma expresión. Al ser homogénea y de coeficientes constantes se resuelve probando x = e^(λt), lo que conduce a la ecuación característica m λ² + c λ + k = 0.

Todo depende del discriminante c² − 4mk, o equivalentemente del amortiguamiento relativo ζ = c / (2√(m k)). Si ζ < 1 las raíces son complejas conjugadas y el movimiento es subamortiguado: oscila con frecuencia ω_d = ω₀√(1 − ζ²) dentro de una envolvente e^(−ζω₀t), donde ω₀ = √(k/m) es la frecuencia natural. Si ζ = 1 hay raíz doble y el movimiento es críticamente amortiguado: vuelve al equilibrio lo más rápido posible sin pasarse. Si ζ > 1 las raíces son reales negativas distintas y el sistema está sobreamortiguado: regresa lentamente, como un émbolo en aceite.

Escrita como sistema de primer orden, con y₁ = x e y₂ = x′, la ecuación se convierte en y₁′ = y₂, y₂′ = −(c y₂ + k y₁)/m, que es la forma que consumen los integradores numéricos como Runge-Kutta. La energía mecánica ½ m x′² + ½ k x² decrece a un ritmo c x′², exactamente la potencia disipada por el rozamiento: cuando c = 0 se conserva y el movimiento es armónico simple, de amplitud constante y periodo 2π/ω₀ independiente de la amplitud.

Fórmulas clave

  • Ecuaciónm x″ + c x′ + k x = 0
  • Ecuación característicam λ² + c λ + k = 0, λ = [−c ± √(c² − 4 m k)] / (2 m)
  • Frecuencia naturalω₀ = √(k/m), T₀ = 2π/ω₀
  • Amortiguamiento relativoζ = c / (2 √(m k))
  • Subamortiguado (ζ < 1)x(t) = A e^(−ζ ω₀ t) cos(ω_d t + φ), ω_d = ω₀ √(1 − ζ²)
  • Crítico (ζ = 1)x(t) = (C₁ + C₂ t) e^(−ω₀ t)

Dónde se aplica

La suspensión de un automóvil se diseña con ζ ≈ 0,7: un amortiguador gastado (ζ pequeño) deja el coche botando y uno demasiado duro (ζ grande) transmite cada bache al chasis. Los sismógrafos y las balanzas electrónicas buscan amortiguamiento crítico para que la aguja se detenga sin oscilar, y los rascacielos incorporan amortiguadores de masa sintonizada que añaden c efectiva frente al viento. En electrónica, el circuito RLC obedece la misma ecuación con L, R y 1/C en lugar de m, c y k, y en control automático ζ y ω₀ fijan el sobreimpulso y el tiempo de establecimiento de cualquier lazo de segundo orden.

Con programación (Python)

import math

def analizar(m, c, k):
    w0 = math.sqrt(k / m)
    z = c / (2 * math.sqrt(m * k))
    disc = c * c - 4 * m * k
    if disc < -1e-12:
        reg = "subamortiguado"
    elif disc > 1e-12:
        reg = "sobreamortiguado"
    else:
        reg = "crítico"
    return w0, z, disc, reg

for c in [0.5, 4.0, 10.0]:
    w0, z, disc, reg = analizar(1.0, c, 4.0)
    print("c =", c, " w0 =", round(w0, 4), " zeta =", round(z, 4),
          " disc =", round(disc, 3), " ", reg)

def rk4(s, h, m, c, k):
    f = lambda v: [v[1], (-c * v[1] - k * v[0]) / m]
    a = f(s)
    b = f([s[i] + h / 2 * a[i] for i in range(2)])
    d = f([s[i] + h / 2 * b[i] for i in range(2)])
    e = f([s[i] + h * d[i] for i in range(2)])
    return [s[i] + h * (a[i] + 2 * b[i] + 2 * d[i] + e[i]) / 6 for i in range(2)]

s = [1.0, 0.0]
for n in range(1, 601):
    s = rk4(s, 0.01, 1.0, 0.5, 4.0)
    if n % 150 == 0:
        print("t =", round(n * 0.01, 2), " x =", round(s[0], 5), " v =", round(s[1], 5))

La versión en JavaScript, editable y ejecutable en el navegador, está en la página interactiva del tema.

Temas relacionados

Péndulo simple no lineal · Campos de direcciones, Euler y RK4 · Valores y vectores propios

← Todos los temas