# -*- coding: utf-8 -*- """ Created on Sun Sep 16 12:17:38 2018 @author: """ import numpy as np import matplotlib.pyplot as plt import os #%% Path = r'C:\Users\INFIP\Google Drive\Trabajo\Laboratorio 1\1er cuatrimestre 2019\carpetaconmediciones' #Poner la ruta de la carpeta donde se encuentran los archivos filelist = os.listdir(Path) #levantamos los dt y tmedio de las distintas mediciones dt=[] tmedio=[] for i in filelist: if i.endswith(".dat"): #abrimos los archivos nombre_arch= os.path.join(Path, i) # Genera la ruta al archivo especificado archivo=np.loadtxt(nombre_arch, dtype=float) tmedio.append(archivo[:,0]) dt.append(archivo[:,1]) #calculamos la media y el desvio por franja de todas las mediciones tmedio_mean = np.mean(tmedio,axis=0) tmedio_std = np.std(tmedio,axis=0) dt_mean = np.mean(dt,axis=0) dt_std = np.std(dt,axis=0) #espscificar la frecuencia de muestreo f=1000 dt_error = dt_std/(len(tmedio))**(1/2)+2/f tmedio_error=tmedio_std/(len(tmedio))**(1/2)+2/f #graficamos el dt para cada franja con su error plt.figure() plt.errorbar(tmedio_mean,dt_mean, xerr=tmedio_error,yerr=dt_error,fmt="o") plt.grid('on'); plt.xlabel('tmedio'); plt.ylabel('dt [1/s]'); plt.show() #calculamos la velocidad para cada franja con su error d = 1 vel = d/dt_mean dt_errel= dt_error/dt_mean vel_error = (0.002/d+dt_errel)*vel velini=vel[0] velfin=vel[13] #graficamos la velocidad para cada franja con su error plt.figure() plt.errorbar(tmedio_mean,vel, xerr=tmedio_error,yerr=vel_error,fmt="o") plt.grid('on'); plt.xlabel('tmedio x franja'); plt.ylabel('Vel media [cm/s]'); plt.show() #guardo los datos en un archivo txt vmediavstmedia=np.column_stack([tmedio_mean,tmedio_error,vel,vel_error]) np.savetxt('Vm_tm.dat', vmediavstmedia, header="tiempo(s)/incert.tiempo/vmedia(cm/s)/incert.vmed", fmt='%.4e') print ("velocidad inicial=", velini) print("velocidad final=", velfin)