Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2020
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.15 KB | None | 0 0
  1. #include <iostream.h>
  2. #include <fstream.h>
  3. #include <math.h>
  4.  
  5. void przyklad()
  6. {
  7.  
  8.  
  9. // wczytanie danych
  10.  
  11. Int_t n=1000,i,j ;
  12.  
  13. Float_t x1[2001],x2[1000],x3[1000],x4[1000],x5[1000],x6[1000], y1;
  14.  
  15. ifstream d,d2,d3,d4;
  16.  
  17. //d.open("density");
  18. // pod windows
  19. d.open("D:\\Users\\marcin.skawinski\\Desktop\\Project5\\Project5\\out.txt");
  20. d2.open("D:\\Users\\marcin.skawinski\\Desktop\\Project4\\Debug\\out2.txt");
  21. d3.open("D:\\Users\\marcin.skawinski\\Desktop\\gauss\\gauss\\resultCENTRAL.txt");
  22. d4.open("D:\\Users\\marcin.skawinski\\Desktop\\gauss\\gauss\\resultTRZECI.txt");
  23.  
  24. for(i=0;i<2001;i=i+1)
  25. {
  26. d>>x1[i];
  27. // d2>>x2[i];
  28. //d3>>x3[i];
  29. //d4>>x4[i];
  30.  
  31. // operacje na danych
  32.  
  33. // x6[i]=x1[i]+8.*x4[i];
  34.  
  35.  
  36. }
  37. d.close();
  38. d2.close();
  39. d3.close();
  40. d4.close();
  41.  
  42. // deklarowanie histogramu "jednowymiarowego" .... liczba klas, przedział
  43.  
  44. TH1F *im1 = new TH1F("im1","jestem histogramem ",60,40.,1200.);
  45. TH1F *im2 = new TH1F("im2","ja tez jedno ",10,0.5,10.5);
  46. TH1F *im3 = new TH1F("im3","ja centralny ",30,-3.,3.);
  47. TH1F *im4 = new TH1F("im4","ja trzeci ",30,-5.,5.);
  48.  
  49.  
  50. TH2F *imd2 = new TH2F("imd2","jestem histogramem-2wym ",50,0.,220.,50,0,200.);
  51.  
  52. for(i=0;i<2001;i=i+1)
  53. {
  54. im1->Fill(x1[i]);
  55. // im2->Fill(x2[i]);
  56. //im3->Fill(x3[i]);
  57. //im4->Fill(x4[i]);
  58. }
  59. for(j=0;j<1000;j=j+1)
  60. {
  61. //imd2->Fill(x6[j],x3[j]);
  62. }
  63.  
  64. //skalowanie histogramu
  65.  
  66. /* float scale_const=0.25;
  67. im2->Scale(scale_const);
  68. */
  69. ///stworzenie canwy do rysunku
  70. TCanvas *test = new TCanvas("test","test");
  71. test->SetFillColor(0);
  72. // podzial na 2 pady
  73. test->Divide(2,1);
  74. // przejscie do pada z niumerem 2
  75. test->cd(1);
  76.  
  77. im1->Draw();
  78. // im2->Draw();
  79.  
  80.  
  81.  
  82. // opcje rysowania histogramu
  83. im1->SetFillColor(2);
  84. im1->SetFillStyle(3002);
  85. im2->SetFillColor(2);
  86. im3->SetFillStyle(3002);
  87. test->cd(2);
  88. // im3->Draw();
  89. //im4->Draw();
  90.  
  91.  
  92. // narysowanie dwoch histogramowna jednym rysunku
  93. // im2->Draw("same");
  94.  
  95.  
  96. // nowa canwa do rysowania
  97.  
  98. TCanvas *test2 = new TCanvas("test2","test2");
  99. // tlo biale ??
  100. test2->SetFillColor(0);
  101. //dzielenie na pady
  102.  
  103.  
  104. //cos na temat statystyki
  105. //ok np gStyle->SetOptStat(111);
  106. test2->Divide(2,2);
  107. test2->cd(1);
  108. // opcje draw : lego, box, cont4z
  109. imd2->Draw();
  110.  
  111. test2->cd(2);
  112. imd2->Draw("lego");
  113.  
  114. test2->cd(3);
  115. imd2->Draw("box");
  116.  
  117. test2->cd(4);
  118. imd2->Draw("cont4z");
  119.  
  120.  
  121. //tworzenie graphu bez bledow z n punków, x1, x2 tablice dla wspolrzednych z i y
  122.  
  123.  
  124. TGraph *gr3 =new TGraph(1000,x1,x4);
  125.  
  126. // opcje wykresu lini(typ, kolor, grybosc lini) i punktow(typ wielkosc)
  127.  
  128. gr3->SetLineColor(kBlue);
  129. gr3->SetLineWidth(2);
  130. gr3->SetLineStyle(1);
  131.  
  132. gr3->SetMarkerColor(3);
  133. //gr3->SetMarkerStyle(21),
  134. //gr3->SetMarkerSize(2);
  135.  
  136. //rysowanie na domyslnej canwie– A aby były osie; L polaczone linią; P – zazanczone punkty
  137. TCanvas *test3 = new TCanvas("test3","test3");
  138. test->SetFillColor(0);
  139.  
  140. gr3->Draw("ALP");
  141. // definiowanie funcji do dopasowania //y = 2^x
  142. TF1 *ff = new TF1("ff","[0]+[1]*x-[2]*pow(x,2)",40.,80.);
  143. im1->Fit(ff);
  144.  
  145.  
  146.  
  147. }
  148. /*
  149. //tworzenie wykresow z bledami
  150. Float_t erx[80];
  151. for(Int_t i=0;i<n;i++){erx[i]=0.;}
  152.  
  153. TGraph *gr =new TgraphErrors(n,x1,x2,erx,x3);
  154.  
  155. gr->SetLineColor(1);
  156. gr->SetMarkerColor(1);
  157. gr->SetMarkerStyle(3),
  158. gr->SetMarkerSize(2);
  159. gr->SetLineStyle(1);
  160. gr->SetLineWidth(2);
  161. gr->Draw("ALP");
  162.  
  163.  
  164. //Opcje Draw()
  165. //Draw(ap) - os i punkty"
  166. gr->Draw("Ap");
  167.  
  168. //Draw(al) - os i laczenie punktow odcinkami
  169. gr1->Draw("Al");
  170.  
  171. //Draw(alp)-os, punkty oraz laczenie punktow odcinkami
  172. gr2->Draw("Alp");
  173.  
  174. //Draw(acp) - os, punkty oraz z interpolacja typu cubic spline
  175. gr4->Draw("Acp");
  176.  
  177.  
  178. //Dopasowywanie funkcji do danych ( fitowanie)
  179. //def funkcji do fitowania
  180. TF1 *ff1 = new TF1("ff1","[0]*pow(x,[1])*exp(-[2]*x)",0,1000);
  181.  
  182. // ustalenie parametrów - w tej byly trzy parametry, to nie jest zawsze konieczne
  183. // ff1->SetParameters(0.1,2.,0.01);
  184.  
  185. //fitowane obiektu o nazwie gr1
  186. gr1->Fit(ff1);
  187. }
  188. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement