import numpy # modul pro matematické funkce a práci s poli import matplotlib.pyplot as plt lines = numpy.loadtxt("cv11/upf_cv11_linear.txt") # nacti soubor do pole N x 3 x = lines[:,0] y = lines[:,1] sigma = lines[:,2] plt.errorbar(x,y,sigma,marker='o',ls='None') ############ fitovani polynomu: ######################################### invSigma = 1.0 / sigma M=2 # pocet parametru p = numpy.polyfit(x, y, deg=(M-1), w=invSigma, cov=True) print("Koeficienty (od nejvyssi mocniny x):") print(p[0]) yModel = numpy.polyval(p[0], x) plt.plot(x,yModel) print("\nMatice kovariance:") print(p[1]); string = "" for i in range(0,M): string = string + " " + str(round(numpy.sqrt(p[1][i][i]),3)) print("\nSigmas: " + string) plt.show()