import numpy # modul pro matematické funkce a práci s poli import matplotlib.pyplot as plt from scipy.optimize import curve_fit lines = numpy.loadtxt("cv11/upf_cv11_linear.txt") # nacti soubor do pole N x 3 x = lines[:,0] y = lines[:,1] sigma = lines[:,2] N = numpy.size(x) plt.errorbar(x,y,sigma,marker='o',ls='None') ############ fitovani obecne funkce numericky: ############################## def fit_func(x,a,b): return a * numpy.exp(b*x) M = 2 # pocet parametru p = curve_fit(fit_func, x, y, sigma=sigma) print("Parametry:") print(p[0]) yModel = numpy.empty(N) for i in range(0,N): yModel[i] = fit_func(x[i], p[0][0], p[0][1]) 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()