Commit 580255165238d71635546b1129cd9a4d174738e6
Committed by
GitHub
1 parent
f27e91828c
Exists in
master
Update dat_ident.py
Showing 1 changed file with 0 additions and 5 deletions Inline Diff
dat_ident.py
# -*- coding: utf-8 -*- | 1 | 1 | # -*- coding: utf-8 -*- | |
""" | 2 | |||
Created on Wed Mar 16 10:22:54 2016 | 3 | |||
4 | ||||
@author: Baptiste Marechal | 5 | |||
""" | 6 | |||
7 | 2 | |||
import csv, time, glob, datetime, os | 8 | 3 | import csv, time, glob, datetime, os | |
import matplotlib.pyplot as plt | 9 | 4 | import matplotlib.pyplot as plt | |
import matplotlib.dates as md | 10 | 5 | import matplotlib.dates as md | |
11 | 6 | |||
#from scipy import signal | 12 | 7 | #from scipy import signal | |
#from scipy.optimize import curve_fit | 13 | 8 | #from scipy.optimize import curve_fit | |
14 | 9 | |||
tic = time.time() | 15 | 10 | tic = time.time() | |
16 | 11 | |||
os.chdir('/home/user/sicav_data/Manip/2016/2016-03/') | 17 | 12 | os.chdir('/home/user/sicav_data/Manip/2016/2016-03/') | |
18 | 13 | |||
def getColumn(filename, column): | 19 | 14 | def getColumn(filename, column): | |
results = [] | 20 | 15 | results = [] | |
for dat_file in sorted(glob.glob(filename)): | 21 | 16 | for dat_file in sorted(glob.glob(filename)): | |
file_result = csv.reader(open(dat_file), delimiter='\t') | 22 | 17 | file_result = csv.reader(open(dat_file), delimiter='\t') | |
results = results + map(float,[result[column] for result in file_result]) | 23 | 18 | results = results + map(float,[result[column] for result in file_result]) | |
return results | 24 | 19 | return results | |
25 | 20 | |||
t = getColumn('*-lakeshore.dat', 0) | 26 | 21 | t = getColumn('*-lakeshore.dat', 0) | |
T1 = getColumn('*-lakeshore.dat', 2) | 27 | 22 | T1 = getColumn('*-lakeshore.dat', 2) | |
T2 = getColumn('*-lakeshore.dat', 3) | 28 | 23 | T2 = getColumn('*-lakeshore.dat', 3) | |
T3 = getColumn('*-lakeshore.dat', 4) | 29 | 24 | T3 = getColumn('*-lakeshore.dat', 4) | |
T4 = getColumn('*-lakeshore.dat', 5) | 30 | 25 | T4 = getColumn('*-lakeshore.dat', 5) | |
31 | 26 | |||
""" | 32 | 27 | """ | |
n = 400 | 33 | 28 | n = 400 | |
t = [t[n*i] for i in range(len(t)/n)] | 34 | 29 | t = [t[n*i] for i in range(len(t)/n)] | |
T1 = [T1[n*i] for i in range(len(T1)/n)] | 35 | 30 | T1 = [T1[n*i] for i in range(len(T1)/n)] | |
T2 = [T2[n*i] for i in range(len(T2)/n)] | 36 | 31 | T2 = [T2[n*i] for i in range(len(T2)/n)] | |
T3 = [T3[n*i] for i in range(len(T3)/n)] | 37 | 32 | T3 = [T3[n*i] for i in range(len(T3)/n)] | |
T4 = [T4[n*i] for i in range(len(T4)/n)] | 38 | 33 | T4 = [T4[n*i] for i in range(len(T4)/n)] | |
39 | 34 | |||
def func(U, a0, b1, b2, y0): | 40 | 35 | def func(U, a0, b1, b2, y0): | |
sys = signal.lti([a0],[b2, b1, 1]) | 41 | 36 | sys = signal.lti([a0],[b2, b1, 1]) | |
y = sys.output(U, t, y0) | 42 | 37 | y = sys.output(U, t, y0) | |
return y[1] | 43 | 38 | return y[1] | |
44 | 39 | |||
print('Fitting...') | 45 | 40 | print('Fitting...') | |
popt, cov = curve_fit(func, T1, T4) | 46 | 41 | popt, cov = curve_fit(func, T1, T4) | |
print(popt) | 47 | 42 | print(popt) | |
Yfit = func(T1, *popt) | 48 | 43 | Yfit = func(T1, *popt) | |
""" | 49 | 44 | """ | |
timetamps = [datetime.datetime.fromtimestamp(ti) for ti in t] | 50 | 45 | timetamps = [datetime.datetime.fromtimestamp(ti) for ti in t] | |
datenums=md.date2num(timetamps) | 51 | 46 | datenums=md.date2num(timetamps) | |
52 | 47 | |||
plt.subplots_adjust(bottom=0.35) | 53 | 48 | plt.subplots_adjust(bottom=0.35) | |
plt.xticks(rotation=90) | 54 | 49 | plt.xticks(rotation=90) | |
ax=plt.gca() | 55 | 50 | ax=plt.gca() | |
xfmt = md.DateFormatter('%Y-%m-%d %H:%M:%S') | 56 | 51 | xfmt = md.DateFormatter('%Y-%m-%d %H:%M:%S') |