Ejercicio obligatorio 1

Fecha de entrega: Domingo 2 de mayo

Introducción

Sabemos del CBC que \(v = \frac{dx}{dt}\) y que \(a = \frac{dv}{dt}\).

Si quisiéramos computar la velocidad de un cuerpo instante a instante, siendo el tiempo entre los instantes \(\Delta t\) entonces podemos decir que:

\(a = \frac{\Delta v}{\Delta t} \implies \Delta t\,a = \Delta v.\)

Si estamos partiendo de un instante de tiempo \(t_i\) nos moveremos a un instante de tiempo \(t_{i+1} = t_i + \Delta t\) y, usando la misma convención para la velocidad, podemos expresar la ecuación anterior como:

\(v_{i+1} = \Delta t\,a + v_i,\)

Análogamente podríamos desarrollar la ecuación de la posición pero para hacer el mismo desarrollo deberíamos asumir que \(\Delta t\) es pequeño y por lo tanto \(v_i \approx v_{i+1}\), por lo que es indistinto cual tomemos al desarrollar nuestra ecuación. Entonces podremos decir que:

\(x_{i+1} \approx \Delta t\, v_i + x_i.\)

Tenemos así dos ecuaciones para trazar la evolución de una partícula sometida a un MRUA.

Notar que la notación \(A_i\) implica el valor de la variable \(A\) en en un determinado tiempo \(t_i\) mientras que \(A_{i+1}\) es el valor de la misma variable \(A\) en el instante de tiempo posterior \(t_{i+1}\), el cual es \(t_i + \Delta t\).

Nota

Se pide implementar las fórmulas deducidas en este enunciado. Las mismas no son resoluciones analíticas sino numéricas.

Evolución en el tiempo

Se pide programar una función double computar_velocidad(double vi, double a, double dt); que dada la velocidad actual vi, la aceleración a y el paso temporal dt devuelva la velocidad del próximo instante.

Se pide programar una función double computar_posicion(double pi, double vi, double dt); que dada la posición actual pi, la velocidad actual vi y el paso temporal dt devuelva la posición del próximo instante.

Tiro oblicuo

Dadas las siguientes definiciones:

#define DT 0.001

#define G 9.81

#define VELOCIDAD_INICIAL 20
#define ANGULO_INICIAL 50

Se pide implementar un programa que calcule el tiro oblicuo de un proyectil que parte a velocidad VELOCIDAD_INICIAL m/s en un ángulo de ANGULO_INICIAL grados que parte de las coordenadas \(x_0 = 0, y_0 = 0\), siendo el eje \(x\) el horizontal y el eje \(y\) el vertical apuntando hacia arriba, por lo que la gravedad G apuntará en la dirección \(-y\).

El programa deberá imprimir en formato CSV las columnas \(t_i\), \(x_i\) y \(y_i\) desde el instante inicial y hasta que el proyectil descienda por debajo del eje \(y = 0\) para cada paso temporal.

Graficación

Se pide graficar la trayectoria que genera el programa como salida en el software de su preferencia (planilla de cálculos, octave, gnuplot, etc.)

Validación

Se pide calcular por otro método el problema planteado (esto puede ser analíticamente, mediante otro software, con alguna calculadora online, etc.) y comparar el resultado del instante final.

Entrega

Deberá entregarse:
  1. El código fuente del programa desarrollado.

  2. El gráfico de la trayectoria en formato JPG o PNG.

  3. El desarrollo de la validación del instante final en formato TXT o PDF.

La entrega se realiza a través del sistema de entregas.

El ejercicio es de entrega individual.