Skip to content
Snippets Groups Projects
Commit b2b16fc4 authored by Pabon_Moreno_Camilo_Alejandro's avatar Pabon_Moreno_Camilo_Alejandro
Browse files

actualización del código

parent 4b251342
No related branches found
No related tags found
No related merge requests found
%% Cell type:markdown id:0ccef595-f3e6-4338-97fd-000fed3667e9 tags:
# <center>**Análisi de datos para la caida libre**</center>
%% Cell type:code id:918f43f1-67c5-41bb-bb16-b6a96880df64 tags:
``` python
# Paquetes
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from scipy.optimize import curve_fit
```
%% Cell type:code id:24bc2856-5ebb-42c3-bbf2-b31e56a3ec0a tags:
``` python
# Lectura de datos
tablas = os.listdir("data/")
for tabla in tablas:
Datos = pd.read_csv("data/"+ tabla, sep = ';')
Datos['y_mts'] = Datos.y/100
Datos = Datos.drop(columns='y')
tablas
```
%% Output
['caida_libre_1',
'caida_libre_10',
'caida_libre_9',
'caida_libre_3',
'caida_libre_7',
'caida_libre_2',
'caida_libre_5',
'caida_libre_8',
'caida_libre_6',
'caida_libre_4']
%% Cell type:code id:4bda4e29-9fa1-4512-9801-ecd401b4c5bc tags:
``` python
plt.scatter(Datos.t, Datos.y_mts, label='Datos experimentales');
```
%% Output
%% Cell type:markdown id:3c447d2b-24e2-4307-aa38-b7df855be6bd tags:
## 2. Ajuste de los datos a un modelo físico
%% Cell type:markdown id:8073efdf-7b0d-4079-9e7e-3aac0899a978 tags:
Suponemos que el objeto tiene un movimiento rectilineo uniformemente acelerado (caida libre), el cual está descrito por la ecuación cinemática
\begin{equation}
y = \frac{1}{2}gt^2.
\end{equation}
Noten que por la manera en que tomamos los ejes coordenados en tracker para hacer las mediciones, $y_0=0$ m y $v_0=0$ m/s. Este va a ser nuestro modelo basado en las leyes de la física.
%% Cell type:code id:911e887c-ad2e-4e92-ba8b-70757e162f6b tags:
``` python
# Definimos la función objetivo
def y_model(t, g): return 0.5*g*t**2
```
%% Cell type:code id:ac1b3920-efe0-4d08-8015-497e54746352 tags:
``` python
# Ajuste de la curva
# Definir los datos que se van a ajustar (t,y)
t_data = Datos['t'].values
y_data = Datos['y_mts'].values
# Ajustar la curva
popt, _ = curve_fit(y_model, t_data, y_data)
# Valores de los parámetros: g
g = popt[0]
# Valores de posición y predichos por el modelo
y_pred = y_model(t_data, g)
print('Gravedad =', g.round(3),'m/s2')
```
%% Output
Gravedad = 9.091 m/s2
%% Cell type:code id:1bb3a21f-cdf8-4865-afed-8d336443efa5 tags:
``` python
# Gráficas
plt.rcParams['text.usetex'] = True
plt.scatter(t_data, y_data, label='Datos experimentales')
plt.plot(t_data, y_pred, color='red', label=r'$y=4.98t^{2}$')
plt.title('Posición vertical en función del tiempo',fontsize=14)
plt.ylabel(r'$y$(m)')
plt.xlabel(r'$t$(s)');
plt.legend(shadow=True)
plt.savefig('caida_teorico_experimenta.pdf')
plt.show()
```
%% Output
%% Cell type:code id:6b9a4546-d129-4a43-94a1-1bd496d8e376 tags:
``` python
error_grav = 100*np.abs(9.8 - g )/9.8
print('Error en la medida de la gravedad:',error_grav.round(3),'%')
```
%% Output
Error en la medida de la gravedad: 7.236 %
%% Cell type:code id:f5c7c6a7 tags:
``` python
```
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment