// // strangefit.c // // // Created by Rrapo Hasimaj on 05/05/23. // #include // ci serve per stampare a video il testo (uso di cout e endl, per esempio) #include // ci serve per istanziare grafici #include // ci serve per manipolare gli assi dei grafici #include // ci serve per disegnare i grafici #include // ci serve per scrivere le funzioni con cui fittare i grafici #include // ci serve per manipolare l'output a video #include #include #include #define _USE_MATH_DEFINES using namespace std; void strangefit(){ const int n=21; float lambda[n]={487.79, 493.37, 498.48, 502.66, 508.71, 511.5, 517.55, 522.68, 526.4, 531.53, 537.59, 541.79, 546.43, 551.13, 557.2, 562.34, 565.61, 571.69, 576.84, 581.52, 586.2}; //Lunghezze d'onda provenienti dalla taratura dello spettrometro. float err_lambda[]={ 6.45, 5.81, 5.48, 5.62, 4.48, 7.31, 6.59, 6.47, 6.7, 6.53, 6.31, 6.42, 6.56, 6.73, 6.72, 6.27, 6.2, 6.47, 6.46, 6.44, 6.46 }; float numero[n]={500, 505, 510, 515, 520, 525, 530, 535, 540, 545, 550, 555, 560, 565, 570, 575, 580, 585, 590, 595, 600}; //Array di unità arbitrarie per la lunghezza d'onda. float err_numeri[n]; for(int i=0;iSetFillColor(0); tela1->cd(); TGraphErrors *punti1=new TGraphErrors(n, numero, lambda, err_numeri, err_lambda); punti1->SetMarkerStyle(19); punti1->SetMarkerColor(kBlue); punti1->SetTitle("Punti per la calibrazione del monocromatore, fit lineare"); punti1->GetYaxis()->SetTitle("#lambda (nm)"); //Comando per scrivere la lettera greca sul grafico. punti1->GetXaxis()->SetTitle("Unità arbitrarie"); punti1->Draw("AP"); TF1 *retta=new TF1("retta", "[0]+[1]*x", 400,700); retta->SetParameter(0,+100); retta->SetParameter(1,1); punti1->Fit(retta, "R+"); gStyle->SetOptFit(1); }