A partir de las 30 medidas del tiempo que demora caer un objeto de una altura (medida con su respectiva incertidumbre) hacer lo siguiente:
In [1]:
import matplotlib
from scipy import misc
from scipy import stats
from scipy import special
import pylab as plt
import numpy as np
%matplotlib inline
font = {'weight' : 'bold',
'size' : 16}
matplotlib.rc('font', **font)
from IPython.display import display
from IPython.display import HTML
import IPython.core.display as di
In [2]:
###########PUNTO 1###############
incerteza=0.01 #1%
datos=np.array([0.53,0.46,0.53,0.58,0.60]) # tiempo en segundos
n=5 #numero de datos
hsum=[]
for i in range(len(datos)):
hsum.append((sum(datos)-datos[i])**2)
desSTD=(np.sqrt(sum(hsum)/(n-1)))/np.sqrt(n) #Desv estandar
aux = stats.t.interval(1-incerteza,5-1,loc=0,scale=1)
valor_t = aux[1] # corrección de t-student
error=valor_t*desSTD/np.sqrt(datos.size) #Error estandar t-student
errorSTD1=desSTD/np.sqrt(datos.size) #Error estandar #sigma
errorSTD3=3*desSTD/np.sqrt(datos.size) #Error estandar #3 sigma
print 'Tiempo =' ,sum(datos)/5
print 'Desviacion estandar = %.2f' %desSTD
print 'Error estandar (sigma) = %.2f ' %errorSTD1
print 'Error estandar (3sigma) = %.2f' %errorSTD3
print 'Error estandar (t-student) =%.2f' %error
In [3]:
###########PUNTO 2###############
#5 listas
datos1=np.array([0.53,0.62,0.60,0.40,0.45])
datos2=np.array([0.45,0.51,0.49,0.47,0.59])
datos3=np.array([0.46,0.51,0.38,0.56,0.55])
datos4=np.array([0.59,0.62,0.58,0.56,0.62])
datos5=np.array([0.53,0.57,0.60,0.55,0.56])
#promedios de las 5 listas
datosdef=[0.52,0.50,0.49,0.59,0.56]
prom=sum(datosdef)/5 #datos promedio
Hsum=[]
for i in range(len(datosdef)):
Hsum.append((sum(datosdef)-datosdef[i])**2)
desSTDp2=(np.sqrt(sum(Hsum)/(4)))/np.sqrt(5) #Desv estandar
errorSTD3p2=3*desSTDp2/np.sqrt(datos.size) #Error estandar #3 sigma
print 'Tiempo = %.2f' %prom
print 'Error estandar (3sigma) = %.2f' %errorSTD3p2
In [4]:
##############PUNTO 3###################
datosT=([0.53,0.62,0.60,0.40,0.45,0.45,0.51,0.49,0.47,0.59,0.46,0.51,0.38,0.56,0.55,0.59,0.62,0.58,0.56,0.62,\
0.53,0.57,0.60,0.55,0.56,0.56,0.63,0.65,0.45,0.48,0.49])
promT=sum(datosT)/30 #tiempo promedio
n=30 #numero de datos
HsumT=[]
for i in range(len(datosT)):
HsumT.append((sum(datosT)-datosT[i])**2)
desSTDp3=(np.sqrt(sum(HsumT)/(n-1)))/np.sqrt(n) #Desv estandar
errorSTD3p3=3*desSTDp3/np.sqrt(datos.size) #Error estandar #3 sigma
print 'Tiempo = %.2f' %promT
print 'Error estandar (3sigma) = %.2f' %errorSTD3p3
In [5]:
##############PUNTO 4###################
##################GRAVEDAD T-ESTUDENT##################
G1=2*(195)/(0.54)**2
sigH=0.1
sigG1=np.sqrt(((2/0.54**2)*(error))**2+(4*(195/0.54**3)*(0.01))**2)
print 'Aceleracion gravitacional caso 1: %d ± %d cm/s**2'%(G1, sigG1)
##################GRAVEDAD 5 EXPERIMENTOS (3*SIGMA)################
G2=2*(195)/(0.53)**2
sigG2=np.sqrt(((2/0.53**2)*(errorSTD3p2))**2+(4*(195/0.53**3)*(0.01))**2)
print 'Aceleracion gravitacional caso 2: %d ± %d cm/s**2 '%(G2, sigG2)
#################GRAVEDAD 30 DATOS (3*SIGMA)#######################
G3=2*(195)/(0.55)**2
sigG3=np.sqrt(((2/0.55**2)*(errorSTD3p3))**2+(4*(195/0.55**3)*(0.01))**2)
print 'Aceleracion gravitacional caso 3: %d ± %d cm/s**2'%(G3, sigG3)
Al evaluar la aceleracion gravitacional, con los tiempos obetenidos a partir de los distintos metodos podemos ver discrepancias considerables con el valor teorico, estas estan relacionadas directamente con el numero de datos, el tipo de tratamiento de la medida y el error; notemos que el valor mas cercano es el resultante de trabajar con 30 datos aun asi su franja de error (3-sigma), no alcanza a contener el valor teorico, para que ocurra esto se nesecita de almenos 411 cm/s² como franja de error en alguna de las medidas, si embargo las tres medidas estan con tenidas en un rango de 100 cm/s²; entonces se podria suponer que se tiene una medida precisa pero que carece de exactitud, esto se podria relacionar con un error sistematico asociado al tiempo de reaccion.