ak9im/p1/p1/main.py
2022-11-03 21:18:55 +01:00

73 lines
1.8 KiB
Python

import sys
import getopt
import numpy as np
import funcs as f
def main(argv):
inputfile = ''
try:
opts, args = getopt.getopt(argv, "hi:o:", ["ifile="])
except getopt.GetoptError:
print('main.py -i <inputfile>')
sys.exit(2)
for opt, arg in opts:
if opt == '-h':
print('main.py -i <inputfile>')
sys.exit()
elif opt in ("-i", "--ifile"):
inputfile = arg
if inputfile != '':
print('Input file is', inputfile)
else:
print('no input file provided, see help (-h)\nexiting...')
sys.exit(1)
# d = f.load_d("./dat.csv")
d = f.load_d(inputfile)
# d = d.astype('float64')
print(d.head())
# data plots
du = d['u']
dy = d['y']
f.plot_d(du, fname='u_input_plot')
f.plot_d(dy, fname='y_input_plot', colour='green')
# mean and variance
mean_u = f.mean(d['u'])
mean_y = f.mean(d['y'])
variance_u = f.variance(d['u'])
variance_y = f.variance(d['y'])
hist_u = f.histogram(d['u'], fname='u_hist')
hist_y = f.histogram(d['y'], fname='y_hist', colour='green')
dist_u = f.distr_func(d['u'], fname='u_dist')
dist_y = f.distr_func(d['y'], fname='y_dist', colour='green')
cov = f.covar(d)
std_dev_u = f.std_dev(d['u'])
std_dev_y = f.std_dev(d['y'])
cov_c = f.covar_coeff(cov, std_dev_u, std_dev_y)
print("data covariance:\n", d.cov())
# print the matrix.
print(np.array([[variance_u, cov], [cov, variance_y]]))
f.plot_autocorellation(dat=d['u'], fname='u_autocorellation')
f.plot_autocorellation(dat=d['y'], fname='y_autocorellation', colour='green')
f.plot_mutual_corellation(d1=d['u'], d2=d['y'], fname='mutual_corellation_uy')
f.plot_autocovariance(dat=d['u'], fname='u_autocovariance')
f.plot_autocovariance(dat=d['y'], fname='y_autocovariance', colour='green')
f.plot_mutual_covariance(d1=d['u'], d2=d['y'], fname='mutual_covariance_uy')
if __name__ == "__main__":
main(sys.argv[1:])