Modelos Continuos · Tema 21

Modelos de movimiento

Posición, velocidad y aceleración: integrar dos veces para llegar lejos.

01 · Punto de partida

Del motor a la trayectoria

Un auto acelera a 2 m/s² contra un freno del aire proporcional a la velocidad. ¿Qué velocidad alcanza? ¿Qué distancia recorre en 20 s? La respuesta pide dos integraciones: la aceleración da la velocidad y la velocidad da la posición.

El movimiento es el sistema de orden 2 más cotidiano: dx/dt = v, dv/dt = a − c·v, con velocidad límite a/c.

  • ¿Qué acelera (motor, gravedad) y qué frena (aire, roce)?
  • ¿Cuál es la velocidad límite a/c?
  • ¿Cuánto tarda en alcanzarla (3/c)?
  • ¿Qué distancia recorre en el horizonte?

02 · Definición

¿Qué es un modelo de movimiento continuo?

Dos estados encadenados:

x

Posición x(t)

Dónde está: integra la velocidad. Ejemplo: metros recorridos desde 0.

v

Velocidad v(t)

Qué tan rápido va: integra la aceleración neta. Converge a a/c.

a

Aceleración a − c·v

Motor menos freno: empuja fuerte quieto y nada en el límite. Ejemplo: 2 − 0,2·v.

Sin fricción (c = 0) la velocidad crece sin techo y la posición es parábola; con fricción, la velocidad se estabiliza y la posición se vuelve recta.

Movimiento a = 2, c = 0,2, v₀ = 0: v* = 10 m/s.
tv(t)x(t)
00 (quieto)0 (arranque).
5 (1/c)≈ 6,3 (63 %)≈ 18 (despegando).
15 (3/c)≈ 9,5 (95 %)≈ 103 (casi recta).
20≈ 9,8 (límite)≈ 152 (crucero).

03 · Anatomía

Límite, tiempo y distancia

Tres números del movimiento con freno lineal:

Velocidad límite v* = a/c
Donde motor y freno empatan: la aceleración muere y la velocidad reposa.
Tiempo 3/c
Para el 95 % de v*: con c = 0,2 son 15 s. Antes, curva; después, recta.
Distancia en T
v*·T menos el déficit del arranque: el transitorio «pierde» v*/c metros.
Sin freno c = 0
v = v₀ + a·t, x = x₀ + v₀·t + a·t²/2: parábola sin techo.

Sin aire (c = 0)

Acelera para siempre

Caída libre ideal: cada segundo suma 9,8 m/s. La posición es parábola abierta.

Con aire (c > 0)

Llega al crucero

Paracaídas, auto, gota: la velocidad se clava en a/c y la distancia crece lineal.

04 · Movimiento en el curso

El mismo (x, v) con cinco motores

Cada traslación es este sistema con otra a:

Aceleración→Velocidad v*→Distancia
  1. 1
    Auto.

    Motor a menos aire c·v: crucero a/c con distancia lineal.

  2. 2
    Caída con aire.

    Gravedad g menos c·v: velocidad terminal mg/c.

  3. 3
    Proyectil.

    Vertical con gravedad, horizontal casi libre: parábola + alcance.

  4. 4
    Resorte (Tema 9).

    a = −k·x − c·v: el motor depende de x y oscila.

  5. 5
    Barco.

    Empuje menos arrastre cuadrático: v* con raíz (no lineal).

05 · Representación en Python

Exacta de v y distancia acumulada

En Python, la velocidad tiene exacta cerrada y la posición se integra de la velocidad. El par (x, v) avanza junto.

Python en tu navegador. Estos bloques se ejecutan localmente con Pyodide, sin instalar nada. Duplicá c y observá que v* se parte a la mitad.

import math


def velocidad(t, v0=0.0, a=2.0, c=0.2):
    v_star = a / c
    return v_star + (v0 - v_star) * math.exp(-c * t)


for t in [0, 5, 15, 20]:
    print(t, round(velocidad(t), 2))

0 → 6,32 → 9,5 → 9,82: el 95 % llega en 3/c = 15 s.

Distancia con Euler del sistema

La posición no tiene truco: suma v·dt con la v del mismo instante:

def distancia(a=2.0, c=0.2, v0=0.0, t_final=20.0, dt=0.1):
    x, v, t = 0.0, v0, 0.0
    while t < t_final - 1e-9:
        v = v + (a - c * v) * dt
        x = x + v * dt
        t += dt
    return round(x, 1)


print(distancia())

06 · Exploración

Laboratorio: del arranque al crucero

Movimiento con tu a, tu c y tu v₀ hasta T = 20. La teal es v(t) con su límite punteado a/c; la dorada es x(t) (escala propia) que se vuelve recta. Subí c y observá que el crucero baja pero llega antes.

EXPERIMENTO 21

Velocidad que se clava

dx/dt = v · dv/dt = a − c·v

Los resultados numéricos aparecen debajo.
Velocidad límite a/c10,00
v final (T=20)9,82
Distancia x(20)151,83
LecturaEn crucero

Con a 2 y c 0,2 el crucero es 10 y en T = 20 va a 9,82.

La velocidad teal usa el eje izquierdo; la posición dorada, su propia escala: lo que importa es que una se clava y la otra se endereza.

Preguntas para explorar

  1. Con v(0) = 15 y v* = 10, ¿la velocidad sube o baja? ¿Qué forma tiene x(t)?
  2. Duplicá c con la misma a. ¿v* sube o baja? ¿El 95 % llega antes o después?
  3. Si c = 0,05, ¿en T = 20 ya hay crucero? ¿Qué tramo manda?
Ver respuestas sugeridas
  1. Baja hacia 10: arrancar pasado es frenar. x(t) arranca empinada y se endereza desde arriba.
  2. v* se parte a la mitad y el 95 % llega al doble de rápido (3/c): menos crucero, antes.
  3. No: 3/c = 60 s, en T = 20 sigue en transitorio. El arranque manda todavía.

07 · Comprensión

Confusiones frecuentes

«Velocidad límite es instantánea»

No: se alcanza asintóticamente. En 3/c va el 95 %; el 100 % no llega nunca en el modelo.

«Posición y velocidad comparten escala»

No: m/s y m no se comparan en altura. Cada una necesita su eje; el gráfico las normaliza por separado.

«Sin v(0) igual arranca»

El integrador inventa 0 y la historia cambia: pasar andando no es soltar quieto.

«Más motor siempre gana distancia»

Con freno lineal, duplicar a duplica v* y casi la distancia en T largo; en T corto el arranque pesa más.

08 · Práctica guiada

Ejercicios con Python

Ejercicio 1: límite a mano

Con a = 3 y c = 0,3, ¿cuánto vale v*? ¿Y el tiempo al 95 %?

a, c = 3.0, 0.3
print("v* =", a / c, "t95 =", round(3 / c, 1))
Ver solución

v* = 10,0 m/s y t95 = 10,0 s: el mismo crucero del laboratorio, antes.

Ejercicio 2: arrancar pasado

Con v* = 10 y v₀ = 15, ¿cuánto vale v(5) con c = 0,2? ¿Sube o baja?

import math


def v(t, v0=15.0, v_star=10.0, c=0.2):
    return v_star + (v0 - v_star) * math.exp(-c * t)


print(round(v(5), 2))
Ver solución

11,84: baja hacia 10. El freno supera al motor hasta empatar.

Ejercicio 3: distancia en crucero

Simulá x(20) con a = 2, c = 0,2, v₀ = 0 y dt = 0,1. ¿Cierra con ≈ 152?

Ver una posible respuesta
def distancia(a=2.0, c=0.2, v0=0.0, t_final=20.0, dt=0.1):
    x, v, t = 0.0, v0, 0.0
    while t < t_final - 1e-9:
        v = v + (a - c * v) * dt
        x = x + v * dt
        t += dt
    return round(x, 1)


print(distancia())

Da ≈ 151,8: v*·T = 200 menos el déficit del arranque (≈ 48). El transitorio «pierde» v*/c = 50 m.

09 · Síntesis

Ideas para recordar

  • dx/dt = v, dv/dt = a − c·v: dos estados, dos arranques, un límite v* = a/c.
  • El 95 % llega en 3/c: antes curva, después recta en x y clavada en v.
  • En Python: exacta de v + Euler semi-implícito (v antes que x).
  • Cada curva necesita su eje: m/s y m no comparten altura.
  • Sin freno, parábola; con freno, crucero: el aire decide la forma.

En el próximo tema el termómetro será el estado: modelos de temperatura.