5 votos

Movimiento de un cuerpo dado aceleración en función de la velocidad

Estoy teniendo problemas para calcular esto. Estoy tratando de determinar el tiempo final y la velocidad final para el movimiento de un vehículo en una distancia determinada a lo largo de una línea recta.

$t$ es de tiempo
$v$ es la velocidad
$a$ es la aceleración
$r$ es el desplazamiento
$m$ $c$ son constantes

Conocidos:
$t_0$, $v_0$, $r_0$, $\Delta r$

La aceleración del vehículo es descrito por:
$a=\frac{f(v)-c}{m}$

Quiero derivar expresiones para:
$\Delta t$, e $v$

$f(v)$ es una función que devuelve la fuerza que el motor puede aplicar a una determinada velocidad. Esto es esencialmente una búsqueda en una tabla de valores desde el fabricante del vehículo. Puedo realizar una acumulación sobre si es necesario.

Actualmente estoy a la estimación de un resultado para este problema de forma iterativa calcular utilizando pequeños intervalos de tiempo.

Cualquier ayuda sería muy apreciada.

2voto

Rob Dickerson Puntos 758

Desde $a = \dot{v}$, su ecuación de movimiento es la educación a distancia $$m\dot{v} = f(v) - c$$

Este es un autónomas de primer orden de la educación a distancia; la separación de las variables da $$m\int_{v(0)}^{v(t)} \frac{1}{f(w)-c}dw = t,$$ y si hubiera una fórmula para $f$ usted podría tratar de realizar la integración en el lado izquierdo para obtener $mg(v) = t$, y luego resuelve $v$.

Ya que sólo se tienen datos numéricos, sin embargo, su mejor apuesta es de cuadratura numérica (que suena como que usted está haciendo ya). Por ejemplo, elige un paso de tiempo de $h$ un poco menor que el estimado de $\Delta t$, e iterar

\begin{align*} r_{i+1} &= r_i + h v_i\\ v_{i+1} &= v_i + h \frac{f(v_i) -c}{m}\\ t_{i+1} &= t_i + h \end{align*}

hasta $r_i-r_0 > \Delta r$.

2voto

Shabaz Puntos 403

Estás tratando de calcular $\frac 1m \int f(v)-c \; dt$ y a menos que tenga una buena fórmula para $f(v)$ lo va a hacer, numéricamente, que básicamente equivale a lo que está haciendo-añadir hasta aceleraciones veces pequeñas timesteps. Si $f(v)$ es razonablemente suave, usted puede reducir el tiempo de cálculo y la hacen más robusta mediante el uso de una adaptación de la integración de rutina. Cualquier análisis numérico texto va a tener una discusión. Me gusta Recetas Numérica, que es gratuito, online y tiene rutinas en C.

2voto

theog Puntos 585

Yo creo que puede llegar mucho más lejos con métodos explícitos de las otras respuestas sugieren. En primer lugar, $a$ como una función de la $v$, podemos encontrar $t$ como una función de la $v$ la integración de: $$\begin{gather} \frac{\mathrm dv}{\mathrm dt}=a=\frac{f(v)-c}m.\\ \frac m{f(v)-c}\,\mathrm dv=\mathrm dt.\\ \int_{v_0}^{v_1}\frac{m\,\mathrm dv}{f(v)-c}=\int_{t_0}^{t_1}\mathrm dt=t_1-t_0. \end{reunir}$$ Desde $f(v)-c$ es un modelo lineal por tramos, $\int_{v_0}^{v_1}m\,\mathrm dv/(f(v)-c)$ es por tramos logarítmica y se puede calcular de forma explícita. Esto nos da $t$ como una función creciente de $v$, que voy a llamar a $\tau$: $$t_1=\tau(v_1):=t_0+\int_{v_0}^{v_1}\frac{m\,\mathrm dv}{f(v)-c}.$$ Ahora llegamos $r$ integrando de nuevo: $$\begin{gather} \tau(v)=t.\\ \frac{\mathrm dr}{\mathrm dt}=v=\tau^{-1}(t).\\ r_1-r_0=\int_{t_0}^{t_1}\tau^{-1}(t)\,\mathrm dt. \end{reunir}$$ Parece que nos han de integrar $\tau^{-1}$, lo que parece complicado. Pero no es demasiado complicado: vamos a $t_0=\tau(v_0)$$t_1=\tau(v_1)$, y luego tenemos $$\int_{t_0}^{t_1}\tau^{-1}(t)\,\mathrm dt=(t_1v_1-t_0v_0)-\int_{v_0}^{v_1}\tau(v)\,\mathrm dv,$$ y la integración de las funciones definidas a trozos logarítmica $\tau$ también se puede hacer de forma explícita. Así que ahora tenemos $r$ como otra forma explícita conocido, el aumento de la función de $v$. Su problema se reduce a encontrar el $v$ de la $r$, lo que tendrá que hacer a través de un procedimiento numérico, sino de algo muy simple como la interseccion de búsqueda debería funcionar bien.

1voto

Cary Chauvet Puntos 34

Como user7530 dice, usted podría integrar numéricamente mediante el uso de un primer pedido método de Euler para integrar numéricamente

\begin{align*} r_{i+1} &= r_i + h v_i\\ v_{i+1} &= v_i + h a_{i+1} \\ a_{i+1} & = \frac{f(v_i) -c}{m}\\ t_{i+1} &= t_i + h \end{align*}

hasta $r_i-r_0 > \Delta r$.

Pero usted podría utilizar diferentes métodos para integrar numéricamente. Una forma de probar si vale la pena usar uno más complicado método sería sustituir su miraba en función de aceleración con algo que tiene un bonito formmula por f(v) y, a continuación, comparar el resultado numérico con el resultado exacto.

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