Ejercicio obligatorio 1
Fecha de entrega: Jueves 28 de marzo
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.
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:
El código fuente del programa desarrollado.
El gráfico de la trayectoria.
El desarrollo de la validación del instante final.
La entrega se realiza por correo a la dirección algoritmos9511entregas en gmail.com (reemplazar en por arroba).
El ejercicio es de entrega individual.