{ // Creazione di una canvas con griglia: gROOT->Reset(); c1 = new TCanvas("c1", "Fit dei dati con errori su x e y", 200, 10, 700, 500); c1->SetGrid(); Int_t n = 16; // Inizializzazione di 4 vettori: // x[] e ex[] sono le misure in ascissa x_i e i loro errori Float_t x[n] = {0.0,1.9,3.8,6.0,9.2,12.9,14.9,19.3,24.2,29.3,35.7,42.6,52.9,67.9,90.6,158.3}; Float_t ex[n] = {0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01}; // y[] e ey[] sono le misure in ordinata y_i e i loro errori Float_t y[n] = {0.041,0.038,0.036,0.033,0.03,0.027,0.025,0.022,0.019,0.016,0.013,0.01,0.007,0.004,0.002,0.0002}; Float_t ey[n] = {0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0}; // Creazione di un grafico x-y con errori gr = new TGraphErrors(n,x,y,ex,ey); gr->SetTitle("Fit della funzione"); gr->SetMarkerColor(4); gr->SetMarkerStyle(21); gr->Draw("AP"); gStyle->SetOptFit(1111); // Fit dei dati del grafico con una funzione esponenziale gr->Fit("expo"); c1->Update(); }