1 votos

Encontrar el desplazamiento dado el tiempo con la aceleración cambiante

Estoy haciendo una tarea de física de movimiento de proyectil, y como parte de ella, quiero una ecuación que dé el desplazamiento del proyectil. Las ecuaciones que conozco son

$$s = ut+\dfrac{1}{2}at^2 \quad \tag{displacement}$$

$$F_{\text{drag}} = \dfrac{1}{2}v^2CA \quad \tag{force due to drag}$$

$$a = \dfrac{f}{m} = \dfrac{v^2CA}{2m} \quad \tag{acceleration due to force}$$

$$v = u + at \quad \tag{velocity at any one time}$$

El problema con esto es que cuando intento insertar la ecuación de la velocidad $v = u + at$ en la ecuación de la fuerza, luego tengo que insertar la ecuación de la aceleración en la ecuación de la velocidad, por lo que termina en un bucle infinito. ¿Estoy usando las ecuaciones equivocadas, o hay algo que se me escapa?

¡Por favor, ayuda!

1voto

Floris Puntos 54054

En una dimensión, este problema puede resolverse analíticamente. Los pasos de la solución se dan en el sitio web de hiperfísica

Reproduciré aquí los pasos clave (para el problema del movimiento horizontal con arrastre cuadrático - solución aquí se da ). Combinaremos todos los coeficientes que contribuyen al arrastre en un único coeficiente $c = \frac12 \rho A C_D$ para simplificar. Entonces podemos escribir la ecuación diferencial para la velocidad $v$ como

$$m \dot{v} = - c v^2$$

Integrar:

$$\int \frac{dv}{v^2} = -\frac{c}{m}\int dt\\ \frac{1}{v} = \frac{ct}{m} + C$$ en $t=0$ , $v=v_0$ así que $C = \frac{1}{v_0}$ . Poniendo $\frac{m}{c v_0}=\tau$ podemos escribir

$$v(t) = \frac{v_0}{1+ \frac{t}{\tau}}$$

Ahora nos integramos una vez más para conseguir la posición:

$$x(t) = v_0 \tau \log(1 + \frac{t}{\tau}) + C$$

Si ponemos $x(0)=0$ entonces, obviamente $C=0$ .

Una cosa interesante que se encuentra aquí es que NO HAY LÍMITE en el rango de x - a medida que el objeto se ralentiza, el arrastre disminuye más rápidamente. En realidad, a velocidades muy bajas la resistencia se vuelve lineal y el objeto se detiene - pero matemáticamente este objeto nunca se detiene.

Normalmente, la gente resuelve este tipo de problemas utilizando la integración numérica. De la forma más sencilla, se utilizaría el método de integración de Euler: a partir de la velocidad en un momento dado, se calcula la fuerza, y por tanto la aceleración, y por tanto la nueva velocidad, en un momento posterior. Y la velocidad instantánea por el paso de tiempo da la nueva distancia.

En pseudocódigo:

x = 0
v = v_init
g = 9.81
m = mass
drag_factor = 123.45 // whatever 1/2 rho C_d A is calculated to be
time_step = 0.01
tmax = 5
xmax = 100
time = 0
while (true):
  f = -drag_factor * v * v // add m*g here if gravity plays
  a = f / m
  v = v + time_step * a
  x = x + v * time_step
  time += time_step
  if x > xmax || time > tmax:
    break

Es mucho mejor utilizar la integración por salto o Runge-Kutta (búsquelo) - esos métodos no sufren los mismos defectos que este enfoque tan simplista (que no tiene en cuenta adecuadamente el cambio de fuerza / velocidad durante el paso de tiempo, y por lo tanto dará respuestas muy diferentes cuando cambie el paso de tiempo). Pero estos métodos te permiten hacer movimientos más complejos (por ejemplo, un proyectil viajando alrededor de la tierra, con la resistencia debida a la atmósfera que cambia con la altitud, y lo mismo para la gravedad).

Sólo por diversión, escribí una variación de lo anterior que aumenta el paso de tiempo a medida que la aceleración disminuye usando time_step=abs(0.001 * v_0 / a) para poder apreciar mejor el comportamiento asintótico. Efectivamente, esto se parece mucho a una curva logarítmica (trazada en la misma escala, utilizando la expresión derivada anteriormente):

enter image description here

La concordancia entre la integración numérica y la solución de forma cerrada debería darte una confianza razonable de que ésta es la solución que buscabas (aunque parece que esperabas algo que tuviera un valor finito...)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X