Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
restrepo
GitHub Repository: restrepo/ComputationalMethods
Path: blob/master/exams/Taller_2018_2_01_1036785977.ipynb
934 views
Kernel: Python 3

Primer Examen 10%

Un vehículo parte del reposo en un punto con una aceleración constante de a1a_1. 10 segundos después pasa por el mismo punto, y en la misma dirección, un segundo vehículo con una rapidez de 10 m/s y con aceleración constante a2a_2. Calcule el punto de encuentro:

  1. Gráficamente

  2. Encontrando las raíces del polinomio generado a partir de igualar las dos ecuaciones de movimiento.

  3. Grafique el polinomio generado

Ayuda: La ecuación de movimiento para el movimiento uniformemente acelerado es: x=x0+v0(tt0)+12a(tt0)2,\begin{align} x=x_0+v_0 (t-t_0)+\tfrac{1}{2} a (t-t_0)^2\,, \end{align} donde

  • x0x_0 es la posición inicial

  • v0v_0 es la rapidez inicial

  • t0t_0 es el tiempo inicial

Ejecute la siguiente celda para fijar los valores de las aceleraciones en su caso

%pylab inline import numpy as np a1=np.random.choice([2,3,4,5,6]) a2=a1+4 print('a1={} m/s² and a2={} m/s²'.format(a1,a2))
Populating the interactive namespace from numpy and matplotlib a1=2 m/s² and a2=6 m/s²

1. Grafica

Ecuación de movimiento del vehiculo 1

def x1(t): return 0.5*a1*(t**2)

Ecuación de movimiento del vehiculo 2

def x2(t): v0=10 #m/s t0=10 #s return v0*(t-t0)+0.5*a2*(t-t0)**2
tmax=25 tf=20 t=np.linspace(0,tmax,100) plt.plot(t,x1(t),"r-",linewidth=2, label="vehiculo 1") tnuevo=t[t>10] plt.plot(tnuevo,x2(tnuevo),"b-",linewidth=2, label="vehiculo 2") plt.vlines(tf,0,x2(t).max(),color="green",linestyle="--") plt.hlines(x1(tf),0,t.max(),color="green",linestyle="--") plt.xlabel("Tiempo $s$") plt.ylabel("Posicion $m$") plt.xlim(0,t.max()) plt.ylim(0,x1(t).max()) plt.title("Crossing distance x={} m".format(x2(tf))) plt.grid() plt.legend() plt.show()
Image in a Jupyter notebook

2. Raices del polinomio

El problema se reduce a encontrar la raiz de la resta de las dos ecuaciones de movimiento:

from scipy import optimize
f=lambda t: x2(t)-x1(t)
tf=optimize.newton(f,15) print ("Los vehiculos se encuentran a los {} s".format(tf)) print ("Los vehiculos se encuentran en xf = {} = {} m ".format(x1(tf),x2(tf)))
Los vehiculos se encuentran a los 20.0 s Los vehiculos se encuentran en xf = 400.0 = 400.0 m

3. Grafica del polinomio

tmax=25 t=np.linspace(0,tmax,100) plt.plot(t,f(t), linewidth=2, color="red",label="$f(t)=x2(t)-x1(t)$") plt.xlabel("Tiempo $s$") plt.plot(tf,f(tf),"y*",markersize=20,label="Raiz") plt.grid() plt.legend() plt.show()
Image in a Jupyter notebook