Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
restrepo
GitHub Repository: restrepo/ComputationalMethods
Path: blob/master/exams/Taller_2018_2_01_98554575.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

1. Solución gráfica

%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=6 m/s² and a2=10 m/s²
def x1(t): #x0=0 v0=0, t0=0 return 0.5*a1*t**2 def x2(t): #x0=0 v0=10 #m/s t0=10 #s return v0*(t-t0)+0.5*a2*(t-t0)**2
x1(np.array([2]))
array([12.])
plt.plot?
x1(tf)
4800.0
tmax=45 tf=40 t=np.linspace(0,tmax,100) #'k' -> black '-' -> línea continua plt.plot(t,x1(t),'k-',label='vehículo 1') tnuevo=t[t>=10] plt.plot(tnuevo,x2(tnuevo),'r--',label='vehículo 2') #Solucion gráfica plt.vlines(tf,0,x1(t).max(),color='gray', linestyle='dotted') plt.hlines(x1(tf),0,t.max(),color='gray', linestyle='dotted') plt.legend(loc='best') plt.xlim(0,t.max()) plt.ylim(0,x1(t).max()) plt.title('crossing distance x={} m'.format( x2(tf) ) )
<matplotlib.text.Text at 0x7f71e9fe2f28>
Image in a Jupyter notebook

El problema se reduce a encontrar la raíz de la resta de las dos ecuaciones de moviniento:

2 Solución analítica

f=lambda t:x2(t)-x1(t)
f(2)
228.0
type(x1)
function
from scipy import optimize
tf=optimize.newton(f,450) print('Crossing time tf={} s'.format(tf) )
Crossing time tf=40.0 s
print('Crossing distance xf={}={} m'.format(x1(tf),x2(tf)))
Crossing distance xf=4800.0=4800.0 m

Visualización de raices

tmax=45 t=np.linspace(0,tmax,100) plt.plot(t,f(t)) plt.plot(tf,f(tf),'y*',markersize=20) plt.grid()
Image in a Jupyter notebook
plt.plot?