Fuerza es igual a masa por aceleración¶
De la segunda ley de Newton
$$\vec{F}= \frac{d\vec{p}}{dt}$$donde
$p=$ cantidad de momento lineal
por lo tanto
$$p=m\vec{v}$$Remplazando en $\vec{F}$
$$\vec{F}=\frac{dm\vec{v}}{dt}$$Derivando por la regla de la cadena
$$\vec{F}=\frac{dm}{dt}\vec{v}+m\frac{d\vec{v}}{dt}$$Para masa constante $\frac{dm}{dt} = 0$ por lo tanto
$$\vec{F}=\vec{0}+m\frac{d\vec{v}}{dt}$$asi
$$\vec{F}=m\frac{\vec{v}}{dt}$$pero $\frac{\vec{v}}{dt}=\vec{a}$
remplazando en $\vec{F}$ tenemos
solo para masa constante
Suma de Vectores¶
Calculando su magnitud
$$|\vec{a}+\vec{b}|=\sqrt{(a_x+b_x)^2+(a_y+b_y)^2+(a_z+b_z)^2}$$pero $a^2=a_{x}^{2}+a_{y}^{2}+a_{z}^{2}$ de igual forma $b^2=b_{x}^{2}+b_{y}^{2}+b_{z}^{2}$
por productor escalar sabemos que
$$\vec{a}\cdot\vec{b}=a_xb_x+a_yb_y+a_zb_z$$Remplazando valores
$$|\vec{a}+\vec{b}|^2=a^2+b^2+2\vec{a}\cdot\vec{b}$$pero $\vec{a}\cdot\vec{b}=2abcos\theta$
por último $$|\vec{a}+\vec{b}|^2=a^2+b^2+2abcos\theta$$
para suma de vectores
Movimiento rectilineo uniformemente variado¶
Si $\vec{a}=\frac{d\vec{v}}{dt}$ tenemos:
$$d\vec{v}=\vec{a}dt$$integrando con $\vec{a}$ constante
$$\int_{\vec{v_0}}^{\vec{v}}\vec{v}=\vec{a}\int^{t}_{t_0}dt$$pero $$\frac{d\vec{r}}{dt}=\vec{v}$$
integrando $d\vec{r}$
integrando y cambiando variables
Ecuacion de segundo grado.
Velocidad¶
De $\vec{a}=\frac{d\vec{v}}{dt}$ operamos $d\vec{r}$ a ambos miembros
Con aceleración constante, integrando
$$\frac{1}{2}(\vec{v} \circ \vec{v}-\vec{v}_0 \circ\vec{v}_0)=\vec{a}(\vec{r}-\vec{r_0})$$vectorialmente
Trabajo¶
De $$dW=\vec{F}\circ d\vec{r}$$
Y $$\vec{F}\circ d\vec{r}=\frac{md\vec{v}}{dt}\circ d\vec{r}$$
Por productor escalar
Integrando miembro a miembro
La variacion de energía cinética
Potencia¶
Es la variación del trabajo en el tiempo.
Cuando $\Delta t$ tiende a 0 $$P={\lim_{\Delta t \rightarrow 0}} \frac{\Delta W}{\Delta t}=\frac{dW}{dt}=\frac{\vec{F}\circ d\vec{r}}{dt}=\vec{F}\circ \vec{v} $$
Asi $$P=Fvcos\theta$$
Movimiento de parabólico¶
La velocidad en el eje x es constante entonces:
$$x(t)=x_0 + vt$$Con $v=v_0 cos \theta$ asi
Para el eje y el movimiento esta sometido a la gravedad y tiene una acelación constante.
$$y(t)=y_0 +(v_0 sen \theta)t - \frac{1}{2}gt^2$$Estas ecuaciones estan en función del tiempo.
Velocidad del movimiento parabólico¶
Para obtener la velocidad, simplemente derivamos $x(t)$ y $y(t)$ en función del tiempo.
asi la velicidad sera $$v=||\sqrt{v_{x}^{2}+ v_{y}^{2}}||$$
Simulación del movimiento parabólico¶
de $$y=y_{0}+(v_0 sin \theta)t - \frac{1}{2}gt^2$$
podemos empezar a programar el movimento
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
#Definimos los paramentros
%matplotlib inline
theta=np.pi/4
x0=0.
y0=0.
v0=50.
g=9.8
def x_pos(theta,t,v0,x0):
x=x0+v0*np.cos(theta)*t
return x
def y_pos(theta,t,v0,y0):
y=y0+(v0*np.sin(theta)*t)-((g*t**2)/2)
return y
t=np.linspace(0,8,50)
x=x_pos(theta,t,v0,0)
y=y_pos(theta,t,v0,0)
N=len(t)
fig, ax=plt.subplots()
ln, = plt.plot(x,y,'ro')
ax.set_xlim(0,280)
ax.set_ylim(0,80)
def actualizar(i):
ln.set_data(x[i],y[i])
return ln,
ani = animation.FuncAnimation(fig,actualizar,range(N),interval=0.00001)
plt.plot(x,y)
plt.grid()
plt.show()
print(theta)
0.7853981633974483
Gravitación¶
De la ley de gravitación general de Newton
$$\vec{F}=G\frac{m_1 m_2}{r^2}\widehat{r}$$Para cada componente de la aceleración para 2d
Como los cuerpos ocupan un espacion en el plano x e y podemos velo de forma vectorial
$$\vec{a_1}=G\frac{m_2 \vec{r}_{12}}{r^3}$$con $\vec{r}_{12}$ vector $(x_2 - x_1, y_2 - y_1)$ y $\vec{r}_{21}$ es el vector $(x_1-x_2,y_1-y_2)$ con modulo
$$\sqrt{(x_2 - x_1)^2 + (y_2 - y_1)^2}$$Simulación Gravitacional¶
import matplotlib.animation as animation
import matplotlib.pyplot as plt
from math import sqrt
%matplotlib inline
x1 = -50.
y1 = -50.
velocidad_x1 = 0.1
velocidad_y1 = 0.
m1 = 20.
x1sol = [x1]
y1sol = [y1]
x2 = 50.
y2 = 50.
velocidad_x2 = -0.1
velocidad_y2 = 0.
m2 = 20.
x2sol = [x2]
y2sol = [y2]
for i in range(700 - 1):
r=sqrt((x2-x1)**2 + (y2-y1)**2)
aceleracion_x1 = m2*(x2-x1)/r**3
aceleracion_y1 = m2*(y2-y1)/r**3
aceleracion_x2 = m1*(x1-x2)/r**3
aceleracion_y2 = m1*(y1-y2)/r**3
velocidad_x1 += aceleracion_x1
velocidad_y1 += aceleracion_y1
velocidad_x2 += aceleracion_x2
velocidad_y2 += aceleracion_y2
x1 += velocidad_x1
y1 += velocidad_y1
x2 += velocidad_x2
y2 += velocidad_y2
x1sol.append(x1)
y1sol.append(y1)
x2sol.append(x2)
y2sol.append(y2)
N=len(x1sol)
n1=len(x2sol)
fig, ax = plt.subplots()
ln, = plt.plot(x1sol, y1sol, 'ro')
ln1, = plt.plot(x2sol, y2sol, 'bo')
def init():
ax.set_xlim(-350, 350)
ax.set_ylim(-350, 350)
return ln, ln1,
def update(i):
ln.set_data(x1sol[i], y1sol[i])
ln1.set_data(x2sol[i], y2sol[i])
return ln, ln1,
ani = animation.FuncAnimation(fig,update, range(N))
plt.grid(True)
plt.show()
Similacion de un pendulo simple ¶
Con las funciones de $\theta (t)$ y $w(t)=\frac{d \theta}{dt}(t)$
Para la ecucion difenrencial $$ml^2 \frac{}{} + mglsin \theta = 0$$
$$\theta(0)=\theta _{inc}$$$$w(0)=w_{inc}$$Identificamos cada términos de la ecuación al ponerla en la forma estándar $$\frac{d^2 \theta}{dt^2}=-\frac{g}{l}sin \theta$$ $$f(x,t)=-\frac{g}{l} sin \theta$$
$u_0=\theta$ ---> $\frac{du_0}{dt}=\frac{d \theta}{dt}=u_1$
$u_1=\frac{d \theta}{dt}=w$ ---> $\frac{du_1}{dt}=\frac{d^2 \theta}{dt^2}=f(u,t)=-\frac{\theta}{l}sin u_0$
import matplotlib.animation as animation
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
m=1.
l=1.
g=9.87
t = 0.
omegainc = 0.5
thetainc = 0.
u= np.array([thetainc,omegainc])
def f(u,t):
return -g*np.sin(u[0])/l
def F(u,t):
return np.array([u[1],f(u,t)])
tsol = [t]
thetasol = [u[0]]
omegasol = [u[1]]
dt = 0.01
tfin = 10
while t<tfin:
u = u+F(u,t)*dt
t = t+dt
thetasol.append(u[0])
omegasol.append(u[1])
tsol.append(t)
plt.figure(1)
plt.plot(tsol,thetasol)
plt.title("Tiempo vs Theta")
plt.xlabel("Tiempo")
plt.ylabel("Theta")
plt.grid(True)
plt.figure(2)
plt.plot(tsol,omegasol)
plt.title("Tiempo vs Omega")
plt.xlabel("Tiempo")
plt.ylabel("Omega")
plt.grid(True)
plt.figure(3)
plt.plot(thetasol,omegasol)
plt.title("Theta vs Omega")
plt.xlabel("Theta")
plt.ylabel("Omega")
plt.grid(True)
'''
fig4=plt.figure(4)
ax=fig.gca()
def actualizar(i):
ax.clear()
plt.plot([0,l*np.sin(thetasol[i])],[0,-l*np.cos(thetasol[i])],'b-')
plt.plot(l*np.sin(thetasol[i]),-l*np.cos(thetasol[i]),'r')
plt.title(srt(round(tsol[i],3)))
plt.xlim(-.3,.3)
plt.ylim(-1.1,0)
ani=animation.FuncAnimation(fig4,actualizar,range(len(thetasol)))
plt.show()
'''
"\nfig4=plt.figure(4)\nax=fig.gca()\n\ndef actualizar(i):\n ax.clear()\n plt.plot([0,l*np.sin(thetasol[i])],[0,-l*np.cos(thetasol[i])],'b-')\n plt.plot(l*np.sin(thetasol[i]),-l*np.cos(thetasol[i]),'r')\n plt.title(srt(round(tsol[i],3)))\n \n plt.xlim(-.3,.3)\n plt.ylim(-1.1,0)\n\nani=animation.FuncAnimation(fig4,actualizar,range(len(thetasol)))\nplt.show()\n"