Ïëàí ëåêöèè - inp.nsk.su
TRANSCRIPT
Ïëàí ëåêöèèI CERN Root (ïðîäîëæåíèå)
I äâóìåðíûå ãèñòîãðàììû (TH2), îïåðàöèè ñ ãèñòîãðàììàìèI íàáîðû òî÷åê (TGraph)I ïîäãîíêà ôóíêöèåéI äåðåâüÿ è êîðòåæè (n-tuple) (TTree)I ôàéëûI ãðàôèêà
I Ñòàòèñòèêà
I âåðîÿòíîñòü, ñëó÷àéíûå âåëè÷èíûI ìîìåíòû, õàðàêòåðèñòè÷åñêèå ôóíêöèèI íåêîòîðûå ðàñïðåäåëåíèÿ
I Ìåòîäû Ìîíòå-Êàðëî: èíòåãðèðîâàíèå
I ìåòîä ñðåäíåãîI âûäåëåíèå ãëàâíîé ÷àñòèI ìåòîä ñóùåñòâåííîé âûáîðêèI ìåòîä ÌåòðîïîëèñàI çàäàíèå
Root: äâóìåðíûå ãèñòîãðàììû
Äâóìåðíûå ãèñòîãðàììû, àíàëîãè÷íî îäíîìåðíûì, íîñ÷åò÷èêè ñîîòâåòñòâóþò èíòåðâàëàì îäíîâðåìåííî ïî äâóìïåðåìåííûì.  ýòîì ñìûñëå êîíñòðóêòîð è çàïîëíåíèåñóùåñòâåííî íå îòëè÷àþòñÿ îò îäíîìåðíîãî:
h2 = TH2F(h2, histogram tytle, xbins, x0, x1, ybins, y0, y1);
h2.Fill(x,y);
Ñïåöèàëüíûé ñëó÷àé TProle (ïðîôèëü) ôàêòè÷åñêèîäíîìåðíàÿ ãèñòîãðàììà, íî çàïîëíåíèå ïðîèçâîäèòñÿàíàëîãè÷íî äâóìåðíîé, ïðè ýòîì ïî îðäèíàòå ðàññ÷èòûâàåòñÿñðåäíåå è ñòàíäàðòíûå îøèáêè:
p = TProle(p, prole title, xbins, x0, x1, y0, y1);p.Fill(x,y);
Root: ñïîñîáû îòîáðàæåíèÿ ãèñòîãðàìì
Ìåòîä Draw èìååò ïàðàìåòð option, òèï const char*, çàäàåò ñïîñîáîòîáðàæåíèÿ ãèñòîãðàììû:AXIS ðèñîâàòü òîëüêî îñèSAME ðèñîâàòü íà òîì æå ãðàôèêå, ÷òî è ïðåäûäóùååHIST ðèñîâàòü ñòóïåíüêàìè (óìîë÷àíèå äëÿ 1-ìåðíîé ãèñòîãðàììû áåçäîïîëíèòåëüíûõ îøèáîê)LEGO ðèñîâàòü ãèñòîãðàììó 3D ñòóïåíüêàìèSURF ðèñîâàòü ãèñòîãðàììó ïîâåðõíîñòüþÒîëüêî äëÿ îäíîìåðíûõ:
AH ðèñîâàòü ãèñòîãðàììó áåç íàäïèñåé íà îñÿõC ðèñîâàòü ãëàäêóþ êðèâóþ ÷åðåç òî÷êè ãèñòîãðàììûE ðèñîâàòü îøèáêè (óìîë÷àíèå äëÿ 1D ãèñòîãðàì ñ îøèáêàìè)L ðèñîâàòü ïðÿìûå ÷åðåç òî÷êè ãèñòîãðàììûP ðèñîâàòü ìàðêåðû â òî÷êàõ ãèñòîãðàììûP0 òî æå, íî âêëþ÷àÿ áèíû ñ íóëåâûì ñîäåðæàíèåìÒîëüêî äëÿ äâóõìåðíûõ:
SCAT ðèñîâàòü òî÷êè (scatter plot óìîë÷àíèå äëÿ 2D)CONT ðèñîâàòü ãèñòîãðàììó èçîëèíèÿìè (êîíòóð)ARR ðèñîâàòü ñòðåëêè â íàïðàâëåíèè ãðàäèåíòîâBOX ðèñîâàòü êâàäðàòèêè ñ ðàçìåðîì, ïðîïîðöèîíàëüíûì ñîäåðæèìîìóCONT ðèñîâàòü êîíòóð èçîëèíèÿìèCOL ðèñîâàòü öâåòàìèZ äëÿ BOX, CONT, COL, LEGO ðèñîâàòü ëåãåíäó äëÿ öâåòîâ (íàïðèìåð, COLZ)
Root: îïåðàöèè ñ ãèñòîãðàììàìèÊðîìå ñîçäàíèÿ, çàïîëíåíèÿ è ðèñîâàíèÿ äëÿ ãèñòîãðàìì äîñòóïíûè äðóãèå ìåòîäû, íåêîòîðûå ïðèâåäåíû íèæå:void Reset() î÷èñòèòü ñîäåðæèìîå áèíîâ, îøèáêè ãèñòîãðàììûvoid Scale(Double_t factor) óìíîæèòü ñîäåðæèìîå âñåõ êàíàëîâ íàfactorDouble_t Integral(const char* opt=) ïîëó÷èòü ñóììó âñåõêàíàëîâ. Íîðìèðîâêà: h->Scale(1.0/h->Integral())Double_t GetMean(Int_t axis=1) ïîëó÷èòü ñðåäíåå ïî êîîðäèíàòåDouble_t GetRMS(Int_t axis=1) ïîëó÷èòü ñòàíäàðòíóþ îøèáêóTObject *Clone(const char* newname) ñäåëàòü òî÷íóþ êîïèþ, íî ñíîâûì èìåíåì, ïðè èñïîëüçîâàíèè îáÿçàòåëüíî ïðèâîäèòü òèï,íàïðèìåð: hnew = (TH1*) hold->Clone(hnew)void Add(TH1* h, Double_t c=1.0) äîáàâèòü ïî-êàíàëüíî äðóãóþ
ãèñòîãðàììó (bi+ = c · b(h)i
)void Multiply(TH1 *h) óìíîæèòü (ïîêàíàëüíî) íà äðóãóþãèñòîãðàììóvoid Divide(TH1 *h) ïîäåëèòü (ïîêàíàëüíî) íà äðóãóþ ãèñòîãðàììóInt_t FindBin(Double_t x) íàéòè íîìåð áèíà, â êîòîðûé ïîïàäàåòòî÷êàDouble_t GetBinContent(Int_t bin) ïîëó÷èòü ñîäåðæèìîå áèíàDouble_t GetBinError(Int_t bin) ïîëó÷èòü îøèáêó â áèíå
Root: ãèñòîãðàììû, ââîä/âûâîä
Ñîõðàíåíèå â ôàéë:f = TFile(le.root,new) # ôàéë ñòàíîâèòñÿ òåêóùåéäèðåêòîðèåé# ñîçäàòü/çàïîëíèòü ãèñòîãðàììó h1h1.Write()f.Close() # òåêóùàÿ äèðåêòîðèÿ ñíîâà gROOT×òåíèå èç ôàéëà:f = TFile(le.root, old) # ôàéë ñòàíîâèòñÿ òåêóùåéäèðåêòîðèåéh1 = f.Get(h1)hlocal = h1.Clone(hlocal) # ñäåëàòü êîïèþ â ïàìÿòè, åñëèñîáèðàåìñÿ çàêðûòü ôàéëf.Close()
Root: íàáîðû òî÷åêÏîëåçíûì òèïîì ÿâëÿåòñÿ òàêæå êëàññ TGraph è äðóãèå êëàññû, äëÿêîòîðûõ îí ÿâëÿåòñÿ ðîäèòåëüñêèì, â ÷àñòíîñòè, TGraphErrors.Ôàêòè÷åñêè, òàêîé îáúåêò ñîäåðæèò íåñêîëüêî ìàññèâîâ ÷èñåë, è äëÿ íåãîîïðåäåëåíû äîïîëíèòåëüíûå îïåðàöèè, òàêèå, êàê îòðèñîâêà, çàïîëíåíèå,ïîäãîíêà ôóíêöèé è ðÿä äðóãèõ, ïîëåçíûõ äëÿ àíàëèçà îïåðàöèé.Êîíñòðóêòîð:TGraph(Int_t n) çäåñü n êîëè÷åñòâî òî÷åê.Çàïîëíåíèå:void SetPoint(Int_t n, Double_t x, Double_t y)void SetPointError(Int_t n, Double_t ex, Double_t ey) // îïðåäåëåíòîëüêî äëÿ TGraphErrors
Root: ïîäïèñè, îñè êîîðäèíàòÄëÿ îáúåêòîâ êëàññîâ TH1 è TGraph îïðåäåëåí çàãîëîâîê (ìîæåò áûòü
ïîëó÷åí/óñòàíîâëåí ìåòîäàìè GetTitle/SetTitle). Ñîáñòâåííî îí è
ÿâëÿåòñÿ çàãîëîâêîì ãðàôèêà ïî óìîë÷àíèþ. Äîñòóïíû, òàêæå, îñè
êîîðäèíàò (ìåòîäàìè GetXaxis()/GetYaxis()/GetZaxis()), êîòîðûå ÿâëÿþòñÿ
îáúåêòàìè êëàññà TAxis. Ïîäïèñü ê îñè êîîðäèíàò ýòî å¼ çàãîëîâîê.
Òàêèì îáðàçîì, ÷îáû äîáàâèòü ïîäïèñü ê îñè X ãèñòîãðàììû h, íóæíî
ñäåëàòü âûçîâ òàêîãî òèïà:
h.GetXaxis().SetTitle(m_#pi, MeV)
âîîáùå ãîâîðÿ, òåêñò äëÿ îñåé è äëÿ çàãîëîâêà ïðåäñòàâëÿåò îáúåêò òèïàTLatex è èíòåðïðåòèðóåòñÿ êàê ÿçûê ìàòåìàòè÷åñêîé çàïèñè, áëèçêèé êLATEX, òîëüêî ñèìâîë '\' (backslash) çàìåíåí íà '#' (hash) êàê âïðèâåäåííîì ïðèìåðå.Êîëè÷åñòâî äåëåíèé íà îñè ìîæåò áûòü èçìåíåíî âûçîâîìSetNdivisions(Int_t n, Int_t optimal=kTRUE), çäåñü:
n = n1 + 100 · n2 + 10000 · n3
çäåñü n1 ÷èñëî îñíîâíûõ äåëåíèé, n2 ÷èñëî âòîðè÷íûõ äåëåíèé, n3 ÷èñëîäîïîëíèòåëíûõ äåëåíèé, íàïðèìåð 510 îçíà÷àåò 10 îñíîâíûõ äåëåíèé è 5âòîðè÷íûõ.
Root: äîïîëíèòåëüíûå ïîäïèñè è äðóãèå ãðàôè÷åñêèåïðèìèòèâû
Äîïîëíèòåëüíûå ïîäïèñè íà ãðàôèêå äåëàþòñÿ ñ ïîìîùüþ îáúåêòîâ òèïàTText (îáû÷íûé òåêñò) èëè TLatex (òåêñò ñ ìàòåìàòè÷åñêîéèíòåðïðåòàöèåé):t = TLatex(0.1, 0.2, m_#pi #leq 135);t.Draw()ïàðàìåòðû (0.1, 0.2) ýòî x, y êîîðäèíàòû â ñèñòåìå êîîðäèíàòïîñëåäíåãî ðèñóíêà. Àíàëîãè÷íè (ìåòîäîì Draw) ðèñóþòñÿ è äðóãèåãðàôè÷åñêèå ïðèìèòèâû, ñèãíàòóðû êîíñòðóêòîðîâ äëÿ íåêîòîðûõ èç íèõ:TLine(Double_t x1, Double_t y1, Double_t x2, Double_t y2) ëèíèÿTArrow(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Double_tasize, const char *option) ñòðåëêà, option îïðåäåëÿåò âèä, íàïðèìåð >èñõîäÿùàÿ èç ò. 1, < âõîäÿùàÿ è ò.ä.TEllipse(Double_t x, Double_t y, Double_t rx, Double_t ry) ýëëèïñTBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2)ïðÿìîóãîëüíèêTMarker(Double_t x,Double_t y, Int_t mtype) ìàðêåð ñïåöèàëüíûéñèìâîë, îáîçíà÷àþùèé òî÷êó, òèï ìàðêåðà îáîçíà÷àåòñÿ öåëóì ÷èñëîì,íàïðèìåð 1 ïðîñòî ìàëåíüêàÿ òî÷êà.
Root: öâåòà, òèïû ìàðêåðîâ, ëèíèé
Ãðàôè÷åñêèå ïðèìèòèâû, îáúåêòû TH1, TGraph èìåþò òàêæåàòðèáóòû, îïðåäåëÿþùèå, êàê èõ ðèñîâàòü: öâåòà, òèïû ëèíèé(ñïëîøíîé, øòðèõîâàííûé, è ò.ä.), òèïû ìàðêåðîâ. Ýòèàòðèáóòû ìîæíî óñòàíîâèòü ïî óìîë÷àíèþ, èñïîëüçóÿ îáúåêògStyle è äëÿ êàæäîãî ïðèìèòèâà èëè îáúåêòà èíäèâèäóàëüíî.Ìåòîäû:SetLineColor(Color_t c) óñòàíîâèòü öâåòà ëèíèé, òèï öåëûé,îïðåäåëåíû êîíñòàíòû kBlack, kRed, kBlue è äð.SetLineStyle(Style_t s) óñòàíîâèòü ñòèëü ëèíèé, òèï öåëûé(kSolid = 1, kDashed, kDotted, kDashDotted)SetLineWidth(Width_t w) øèðèíà ëèíèè â ïèêñåëÿõSetMarkerColor(Color_t c) öâåò ìàðêåðàSetMarkerStyle(Style_t s) òèï ìàðêåðà (kDot, kStar, kPlus,kCircle è äð.)SetMarkerSize(Size_t s) ðàçìåð ìàðêåðà, ïëàâàþùåå, 1 óìîë÷àíèå, ìîæåò áûòü ìåíüøå 1, íå çàâèñèò îò êîîðäèíàò
Root: ïîäãîíêà äàííûõ×àñòî âñòðå÷àþùååñÿ äåéñòâèå â îáðàáîòêå äàííûõ ýòî ïîäãîíêàãðàôèêîâ è ãèñòîãðàìì êàêîé ëèáî ôóíêöèåé. Òî åñòü äîïóñòèì, ìûîæèäàåì, ÷òî ôóíêöèÿ ïàðàìåòðèçîâàíà, èìååò íåêèé âèä, è õîòèì èçèçìåðåííûõ çíà÷åíèé ïîëó÷èòü çíà÷åíèÿ ïàðàìåòðîâ (íàïðèìåð, îáùåãîêîýôôèöèåíòà ïåðåä ôóíêöèåé, ïîëîæåíèå ïèêà è ò.ä.)  ñèñòåìå ROOTäëÿ îáúåêòîâ êëàññîâ TGraph è TH1 ïðåäóñìîòðåí ìåòîä Fit:
Fit(const char *fname, const char* opt, const char* gopt, Double_t xmin,
Double_t xmax)Fit(TF1* function, const char* opt, const char* gopt, Double_t xmin,Double_t xmax)çäåñü fname ëèáî ïðåäîïðåäåëåííîå èìÿ (gaus, polN, expo), ëèáî èìÿôóíêöèè, ðàíåå îïðåäåëåííîé, êàê TF1. Ïàðàìåòð opt îïðåäåëÿåò ñïîñîáïðîâåäåíèÿ ìèíèìèçàöèè (óìîë÷àíèå ).Ïàðàìåòð gopt îïðåäåëÿåò ñïîñîá îòîáðàæåíèÿ ðåçóëüòàòîâ (óìîë÷àíèå), àíàëîãè÷åí îïöèÿì TH1::Draw()Ïàðàìåòðû xmin è xmax ïîçâîëÿþò ñóçèòü äèàïàçîí, íà êîòîðîìôóíêöèÿ ìèíèìèçèðóåòñÿ (óìîë÷àíèå äèàïàçîí îáúåêòà).Ïîñëå ìèíèìèçàöèè êîïèÿ ôóíêöèè ñ íóæíûìè ïàðàìåòðàìè(àññîöèèðîâàííàÿ ôóíêöèÿ) ìîæåò áûòü ïîëó÷åíà ñ ïîìîùüþ ìåòîäà:TF1 *GetFunction(const char* fname)äàëåå ìîæíî ïîëó÷èòü ïàðàìåòðû ìåòîäîì TF1::GetParameter(Int_t n) èäðóãèå ÷èñëîâûå õàðàêòåðèñòèêè ïîäãîíêè.
Root: äåðåâüÿÑîáûòèÿ â ROOT õðàíÿòñÿ â ñïåöèàëüíûõ îáúåêòàõ, êîòîðûå íàçûâàþòñÿ
äåðåâüÿìè (êëàññ TTree). Äåðåâî, â ñâîþ î÷åðåäü ñîäåðæèò âåòâè
(TBranch), êîòîðûå ñîäåðæàò óæå êîíêðåòíûå, àññîöèèðîâàííûå ñ
ëèñòüÿìè (TLeaf). Äëÿ äàííûõ, àññîöèèðîâàíûõ ñ ëèñòüÿìè, îïðåäåëåí
íîìåð ñîáûòèå, òàêèì îáðàçîì, ñîáûòèå ìîæåò áûòü ñîáðàíî èç
êîìïîíåíò ðàçíûõ òèïîâ â âèäå êîðòåæà (n-tuple). Äîñòîèíñòâîì
îáúåäèíåíèÿ ñîáûòèé â äåðåâüÿ ÿâëÿåòñÿ äîñòàòî÷íî ýôôåêòèâíûé
ââîä-âûâîä (ñåðèàëèçàöèÿ). Äëÿ äåðåâüåâ îïðåäåëåí êîíñòðóêòîð:
TTree(const char* name, const char* title)
Ñîçäàíèå âåòâåé:
TBranch* Branch(name, void* dataStart, const char* description)
çäåñü description ìîæåò ïðèíèìàòü âèä, íàïðèìåð n/I:x[n]/D:sumx,
dataStart óêàçàòåëü íà íà÷àëî ñòðóêòóðû
Çàïîëíåíèå:
void Fill()
Root: äåðåâüÿ, ââîä/âûâîä
Ñîõðàíåíèå â ôàéë:f = TFile(le.root,new) # ôàéë ñòàíîâèòñÿ òåêóùåéäèðåêòîðèåé# ñîçäàòü/çàïîëíèòü t (TTree(), TBranch(), Fill)t.Write()f.Close() # òåêóùàÿ äèðåêòîðèÿ ñíîâà gROOT×òåíèå èç ôàéëà:f = TFile(le.root, old) # ôàéë ñòàíîâèòñÿ òåêóùåéäèðåêòîðèåét = f.Get(t)f.Close()
Root: çàïîëíåíèå ãèñòîãðàìì ñîáûòèÿìè èç äåðåâüåâÑîäåðæèìîå äåðåâà ìîæíî ïîñìîòðåòü ñ ïîìîùüþ ìåòîäà Print().Äåðåâüÿ ìîãóò áûòü ñãðóïïèðîâàíû â îáúåêòû òèïà TChain ìåòîäîìAdd(//machine/le.root/subdirs/treename). Ìåòîäû äîñòóïà ê TChainàíàëîãè÷íû ìåòîäàì TTree.
Äëÿ çàïîëíåíèÿ ãèñòîãðàìì è îòðèñîâêè ñîáûòèé ñ äåðåâüÿìè ïðîñòûì
ñïîñîáîì ïðèìåíÿåòñÿ ìåòîä Draw:
Long64_t Draw(const char* expr, const char* selection=, const char*
option=, Long64_t n=-1, Long64_t rst=1)
çäåñü expr âûðàæåíèå èç èìåí, îïðåäåëåííûõ äëÿ äåðåâà (èëè 2-3âûðàæåíèÿ, ðàçäëåííûõ : äëÿ 2-3 ìåðíûõ ãèñòîãðàìì), â êîíöå êîòîðîãîìîæåò áûòü êîíñòðóêöèÿ >>histname (î÷èñòèòü è çàïîëíèòüèìåíîâàííóþ ãèñòîãðàììó) èëè >>+histname (äîáàâèòü ñîáûòèÿ ê óæåñóùåñòâóþùåé ãèñòîãðàììå). selection âûðàæåíèå, êîòîðîå äîëæíîïðèíèìàòü áóëåâñêîå çíà÷åíèå. Ïðè çíà÷åíèè true ñîáûòèÿ áåðåòñÿ âãèñòîãðàììó, â ïðîòèâíîì ñëó÷àå îòáðàñûâàåòñÿ. option â îñíîâíîìòå æå, ÷òî è äëÿ îòðèñîâêè ãèñòîãðàìì.Ïîñëå îòðèñîâêè äàííûõ â 2-3 ìåðíîì ñëó÷àå âåêòîð çíà÷åíèé äîñòóïåí÷åðåç ìåòîäû GetV1(), GetV2(), GetV3().
Root: ïîëå äëÿ ðèñîâàíèÿ (TCanvas)
Âñå ãðàôèêè, ãèñòîãðàììû è ïðî÷èå ïðèìèòèâû ðèñóþòñÿ â îêíàõ,êîòîðûå â ROOT ïðåäñòàâëåíû îáúåêòàìè òèïà TCanvas. Ýòîò îáúåêòîòâå÷àåò çà ïðèâåäåíèå êîîðäèíàò ðèñóíêà ê êîîðäèíàòàì ýêðàíà,âçàèìîäåéñòâèå ñ îêîííûì ìåíåäæåðîì è ò.ä. Êîíñòðóêòîð êëàññà:TCanvas(const char* name, const char* title)Ïî óìîë÷àíèè ïðè ïåðâîé ïîïûòêå ðèñîâàíèÿ ñîçäàåòñÿ îáúåêò ñ èìåíåìc1. Îêíî ìîæåò áûòü ðàçáèòî íà ïîäîêíà (òèï TPad), ìåòîäîìvoid Divide(Int_t nx, Int_t ny)Äëÿ ïåðåõîäà íà ïîäîêíî ñëóæèò ìåòîävoid cd(Int_t n)Òåêóùåå ïîäîêíî ïðèñâàèâàåòñÿ ãëîáàëüíîé ïåðåìåííîé gPadÄëÿ ñîõðàíåíèÿ ðèñóíêà èñïîëüçóåòñÿ ìåòîävoid Print(èìÿ ôàéëà)Ðàñøèðåíèå ôàéëà (.eps, .png, .gif) èñïîëüçóåòñÿ äëÿ îïðåäåëåíèÿ òèïàôàéëà.void Update()îáíîâèòü îêíî ïîñëå âñåõ ïåðåðèñîâîê
ÂåðîÿòíîñòüÄëÿ îïèñàíèÿ ñîáûòèé, ñ íåîïðåäåëåííûì èñõîäîì èñïîëüçóåòñÿêîëè÷åñòâåííàÿ âåëè÷èíà âåðîÿòíîñòü. Ýòî âåùåñòâåííîå ÷èñëî,îïðåäåëåííîå äëÿ ìíîæåñòâ ñîáûòèé, òàê, ÷òî:∀A ⊂ S : P(A) > 0
P(S) = 1
Åñëè A ∩ B = Ø, P(A ∪ B) = P(A) + P(B)Èç ýòîãî îïðåäåëåíèÿ ìîæíî âûâåñòè äàëüíåéøèå ñâîéñòâà:
P(A) = 1− P(A)
P(A ∪ A) = 1
P(Ø) = 0
åñëèA ⊂ B òî P(A) 6 P(B)
P(A ∪ B) = P(A) + P(B)− P(A ∩ B)
Óñëîâíàÿ âåðîÿòíîñòü
P(A|B) ≡ P(A ∩ B)
P(B)(P(B) 6= 0)
A,B íåçàâèñèìû, åñëèP(A|B) = P(A)P(B)
Èíòåðïðåòàöèÿ âåðîÿòíîñòè
I ×àñòîòíûé ïîäõîä:A,B . . . ðåçóëüòàòû ïðîâåäåíèÿ ïîñëåäîâàòåëüíîñòè ýêñïåðèìåíòîâ,P(A) ≡ limn→∞
n(A)N
I Ñóáúåêòèâíûé (áàéåñîâñêèé) ïîäõîä:A,B . . .ãèïîòåçû,P(A) ñòåïåíü äîâåðèÿ ãèïîòåçå A
I Îáà ïîäõîäà óäîâëåòâîðÿþò àêñèîìàì (ìàòåìàòè÷åñêè)
I Òåîðåìà Áàéåñà:
P(A|B) =P(B|A)P(A)
P(B)
âî âòîðîì ïîäõîäå P(A)âåðîÿòíîñòü a priory, P(B|A)ðàññìàòðâàåòñÿ,êàê âåðîÿòíîñòü íàáëþäåíèÿ ñîáûòèÿ B â ãèïîòåçå A, P(B)íîðìàëèçàöèÿ, òîãäà P(A|B) íîâàÿ âåðîÿòíîñòü (a posteriory)
I  èçìåðåíèÿõ â îñíîâíîì èñïîëüçóåòñÿ ïåðâûé, íî ïðè èçó÷åíèèíåïîâòîðÿþùèõñÿ ÿâëåíèé áîëåå åñòåñòâåííûì ìîæåò îêàçàòüñÿâòîðîé (âåðîÿòíîñòü äîæäÿ 1
2).
Ñëó÷àéíûå âåëè÷èíû
Ñëó÷àéíûå âåëè÷èíû, ýòî ÷èñëåííûå õàðàêòåðèñòèêè, êîòîðûåìîæíî ïðèñâîèòü ñëó÷àéíûì ñîáûòèÿì.Ðåçóëüòàò ïðîâåäåíèÿ èçìåðåíèÿ ìîæåò áûòü äèñêðåòíûì, òîãäàâåðîÿòíîñòü âûïàäåíèÿ ñëó÷àéíîé âåëè÷èíû îïèñûâàåòñÿ ôóíêöèåéâåðîÿòíîñòè pi :
P(xi ) ≡ pi∑pi = 1
Äëÿ íåïðåðûâíûõ ñëó÷àéíûõ âåëè÷èí îïðåäåëåíà ïëîòíîñòüâåðîÿòíîñòè (PDF) f(x):
P(x ∈ [a, b]) ≡∫ b
a
f (x)dx∫ +∞
−∞f (x)dx = 1
Ôóíêöèÿ ðàñïðåäåëåíèÿ
Ôóíêöèÿ ðàñïðåäåëåíèÿ èëè êóìóëÿòèâíàÿ ôóíêöèÿðàñïðåäåëåíèÿ (CDF):
F (x) ≡x∫
−∞
f (t) dt
Ãèñòîãðàììû
Ãèñòîãðàììà ìàññèâ ãðàíèö èíòåðâàëîâ è ìàññèâ, ýëåìåíòûêîòîðîãî ñîäåðæàò êîëè÷åñòâî èçìåðåíèé, ïîïàâøèõ âèíòåðâàëû. Îöåíêà PDF: f (xi ) ≈ Ni
N ∆i. Çäåñü Ni÷èñëî ñîáûòèé,
ïîïàâøèõ â èíòåðâàë, N ïîëíîå ÷èñëî ñîáûòèé, ∆i øèðèíàèíòåðâàëà.
Ìíîãîìåðíûå ðàñïðåäåëåíèÿÀíàëîãè÷íî îäíîìåðíîé ïëîòíîñòè âåðîÿòíîñòè ìîæíî ââåñòèìíîãîìåðíóþ, êàê:∫ ∫
. . . f (x1, x2, . . .) dx1dx2 . . .
Ïðîåêöèÿ:
f (x1) =
+∞∫−∞
f (x1,x2) dx2
Ôóíêöèÿ ñëó÷àéíîé ïåðåìåííîé
Ôóíêöèÿ ñëó÷àéíîé âåëè÷èíû òàêæå ÿâëÿåòñÿ ñëó÷àéíîé âåëå÷èíîé. Åñëèôóíêöèÿ ìîíîòîííà íà âñåé îáëàñòè îïðåäåëåíèÿ ïåðåìåííîé (|a′(x)| 6= 0,ñóùåñòâóåò îäíîçíà÷íàÿ îáðàòíàÿ ôóíêöèÿ), ïëîòíîñòü âåðîÿòíîñòè íîâîéâåëè÷èíû îïðåäåëÿåòñÿ äîñòàòî÷íî ïðîñòî:
g(a) = f (x(a))
∣∣∣∣dxda∣∣∣∣
Åñëè îáðàòíàÿ ôóíêöèÿ íåîäíîçíà÷íà ðàçáèâàåòñÿ íà èíòåðâàëû, ãäåîíà âçàèìíî-îäíîçíà÷íà.Ïðåîáðàçîâàíèå ìíîãîìåðíîé ïëîòíîñòè âåðîÿòíîñòè äëÿ ìíîãîìåðíîãîðàñïðåäåëåíèÿ äåëàåòñÿ àíàëîãè÷íûì îáðàçîì (÷åðåç ÿêîáèàí):
g(a1, a2) = f (x1(a1, a2), x2(a1, a2)) det
∣∣∣∣∣ dx1da1
dx1da2
dx2da1
dx2a2
∣∣∣∣∣(ñëåäóåò èç ïðåîáðàçîâàíèé ïåðåìåííûõ äëÿ èíòåãðèðîâàíèÿ).
Ìàòåìàòè÷åñêîå îæèäàíèå, äèñïåðñèÿ è äðóãèåìîìåíòû.
Âàæíîå çíà÷åíèå èìååò ìàòåìàòè÷åñêîå îæèäàíèå ñëó÷àéíîãî çíà÷åíèÿ,îïðåäåëÿåòñÿ, êàê
E(x) =
∫x f (x) dx
E(k) =∑
kipi
Âòîðîé ñëó÷àé äëÿ äèñêðåòíîãî ðàñïðåäåëåíèÿ. Ìàòåìàòè÷åñêîåîæèäàíèå ÿâëÿåòñÿ îöåíêîé ñðåäíåãî çíà÷åíèå ñëó÷àéíîé âåëè÷èíû.Äðóãèå îáîçíà÷åíèÿ µ, < x >.Äèñïåðñèÿ ñëó÷àéíîé âåëè÷èíû îïðåäåëÿåòñÿ, êàê ñðåäíèé êâàäðàòîòêëîíåíèÿ îò ìàòåìàòè÷åñêîãî îæèäàíèÿ:
D(x) ≡ < (x − µ)2 >=< x2 > −µ2
Äðóãîå ÷àñòî èñïîëüçóåìîå îáîçíà÷åíèå σ2. Êîðåíü èç äèñïåðñèèíàçûâàåòñÿ ñòàíäàðòíûì îòêëîíåíèåì.Ìîìåíòîì ðàñïðåäåëåíèÿ n-ãî ïîðÿäêà (Mn) íàçûâàåòñÿ < xn >.Öåíòðàëüíûì ìîìåíòîì (µn) íàçûâàåòñÿ < (x − µ)n >. Äðóãèåõàðàêòåðíûå ïàðàìåòðû ðàñïðåäåëåíèÿ àñèììåòðèÿ è ýêñöåññ:
γ1 ≡ µ3σ3
γ2 ≡ µ4σ4− 3
Õàðàêòåðèñòè÷åñêàÿ ôóíêöèÿ
Õàðàêòåðèñòè÷åñêàÿ ôóíêöèÿ ýòî ôóðüå-îáðàç ôóíêöèè ïëîòíîñòèâåðîÿòíîñòè:
ζX (t) = E(e i t X )
ζX (t) =
∞∫−∞
e i t X f (X ) dX äëÿ íåïðåðûâíîãî ðàñïðåäåëåíèÿ
ζX (t) =∑k
e i t kPk äëÿ äèñêðåòíîãî ðàñïðåäåëåíèÿ
ïîëíîñòüþ îïðåäåëÿåò ðàñïðåäåëåíèå ñëó÷àéíîé âåëè÷èíû, â ÷àñòíîñòè:
f (X ) =1
2π
∞∫−∞
ζX (t) e−i X tdt
Õàðàêòåðèñòè÷åñêàÿ ôóíêöèÿ (ñâîéñòâà)
Íîðìèðîâêà:ζ(0) = 1; |ζ(t)| 6 1
åñëè a è b êîíñòàíòû:
ζaX+b(t) = ζX (at) e i b t
åñëè X ,Y íåçàâèñèìûå ñëó÷àéíûå âåëè÷èíû:
ζX+Y (t) = ζX (t) · ζY (t)
ìîìåíòû è öåíòðàëüíûå ìîìåíòû ìîãóò áûòü ïîëó÷åíû, êàê:
Mk =1
ikdk
dtkζ(t)
∣∣∣∣t=0
µk =1
ikdk
dtke−i µ tζ(t)
∣∣∣∣t=0
Ïðîèçâîäÿùàÿ ôóíêöèÿ ìîìåíòîâ: GX (t) = E(eXt) (çàìåíà i t → t)
Áèíîìèàëüíîå ðàñïðåäåëåíèå
I N íåçàâèñèìûõ èñïûòàíèé (èñïûòàíèÿ Áåðíóëëè):
I ðåçóëüòàò èñïûòàíèÿ óñïåõ/íåóñïåõI âåðîÿòíîñòü óñïåõ
I Ââîäèòñÿ äèñêðåòíàÿ âåëè÷èíà êîëè÷åñòâî óñïåøíûõèñïûòàíèé n
I Âåðîÿòíîñòü âûïàäåíèÿ n óñïåøíûõ ñîáûòèé
f (n;N, p) =N!
n!(N − n)!pn(1− p)N−n
I Ìàòåìàòè÷åñêîå îæèäàíèå è äèñïåðñèÿ:
E (n) = n p
D(n) = n p (1− p)
Ðàñïðåäåëåíèå Ïóàññîíà
I  ïðåäåëüíîì ñëó÷àå N →∞, p → 0 è óñëîâèè E [n] = λáèíîìèàëüíîå ðàñïðåäåëåíèå ïåðåõîäèò â ðàñïðåäåëåíèåÏóàññîíà:
f (n;λ) =λn
n!e−λ
I Ïðèìåð: ñðåäíÿÿ ÷àñòîòà ñîáûòèÿ ν, òîãäà ÷èñëî ñîáûòèé,çàðåãèñòðèðîâàííûõ çà âðåìÿ τ ðàñïðåäåëåíèå Ïóàññîíàñ ïàðàìåòðîì ντ .
I Ìàòåìàòè÷åñêîå îæèäàíèå è äèñïåðñèÿ:
E (n) = λ
D(n) = λ
Ðàâíîìåðíîå ðàñïðåäåëåíèåI Ïëîòíîñòü âåðîÿòíîñòè äëÿ çíà÷åíèÿ, ðàñïðåäåëåííîãîðàâíîìåðíî íà îòðåçêå [a, b]:
f (x ; a, b) =
1
b−a , x ∈ [a, b]
0, x /∈ [a, b]
I Ìàòåìàòè÷åñêîå îæèäàíèå, äèñïåðñèÿ, õàðàêòåðèñòè÷åñêàÿôóíêöèÿ:
E (x) =a + b
2
D(x) =(b − a)2
12
ζ(t) =1
2i t (b + a) +
sinh(12i t (b − a))
i t (b − a)
I Âàæíîå ïðèëîæåíèå: ôóíêöèÿ âåðîÿòíîñòè ëþáîãîíåïðåðûâíîãî ðàñïðåäåëåíèÿ F (x) ðàñïðåäåëåíàðàâíîìåðíî íà îòðåçêå [0, 1]
Ýêñïîíåíöèàëüíîå ðàñïðåäåëåíèå
I Ôóíêöèÿ ðàñïðåäåëåíèå:
f (x ;λ) =
1
λe−x/λ ïðè x > 0
0 ïðè x < 0
I Ìàòåìàòè÷åñêîå îæèäàíèå, äèñïåðñèÿ, õàðàêòåðèñòè÷åñêàÿôóíêöèÿ:
E (x) = λ
D(x) = λ2
ζ(t) =1
1− i t λ
I Ïðèìåð: âðåìÿ îæèäàíèÿ äî âîçíèêíîâåíèÿ ñîáûòèÿ ïðèñðåäíåì âðåìåíè îæèäàíèÿ λ
Íîðìàëüíîå ðàñïðåäåëåíèåI Ôóíêöèÿ ðàñïðåäåëåíèå ñ ïàðàìåòðàìè µ è σ:
f (x ;µ, σ) =1
√2πσ
e−(x−µ)2/2σ2
I Ìàòåìàòè÷åñêîå îæèäàíèå, äèñïåðñèÿ, õàðàêòåðèñòè÷åñêàÿ ôóíêöèÿ:
E(x) = µ
D(x) = σ2
ζ(t) = exp(i t µ−1
2t2σ2)
I Ïðåäåëüíûå ñëó÷àè:I ðàñïðåäåëåíèå Ïóàññîíà: ïðè λ→∞ñòàíîâèòñÿ íîðìàëüíûì ñµ = λ, σ =
√λ
I äëÿ íåçàâèñèìûõ ñëó÷àéíûõ çíà÷åíèé xi ñî ñðåäíèìè µi èäèñïåðñèåé σ2
i:
y =n∑
i=1
xi
ðàñïðåäåëåíà â ïðåäåëå n→∞ ïî íîðìàëüíîìó ðàñïðåäåëåíèÿ ñïàðàìåòðàìè:
E(y) =n∑
i=1
µ
D(y) =n∑
i=1
σ2i
Ðàñïðåäåëåíèå Áðåéòà-Âèãíåðà (Êîøè)
I Ôóíêöèÿ ðàñïðåäåëåíèå ñ ïàðàìåòðàìè µ è σ:
f (x ; x0, Γ) =1
π
Γ
Γ2 + (x − x0)2
I Õàðàêòåðèñòè÷åñêàÿ ôóíêöèÿ:
ζ(t) = e itx0−Γ|t|
I Íå èìååò ìîìåíòîâ! (äàæå ñðåäíåãî)
Êîâàðèàöèÿ è êîððåëÿöèÿ
Êîâàðèàöèÿ äâóõ ïåðåìåííûõ x , y :
cxy ≡< (x − µx)(y − µy ) >=< x y > −µxµyÎ÷åâèäíî, ÷òî cxx = σ2x . Ëèíåéíàÿ ÷àñòü âçàèìíîé çàâèñèìîñòèïåðåìåííûõ õàðàêòåðèçóþò íåäèàãîíàëüíûå ÷ëåíû ìàòðèöûêîâàðèàöèè. Äëÿ íåçàâèñèìûõ ïåðåìåííûõ cxy = 0. Îáû÷íîââîäÿò íîâóþ âåëè÷èíó êîððåëÿöèþ:
ρxy ≡cxy
σxσy
Ýòà âåëè÷èíà ðàâíà 0 äëÿ íåçàâèñèìûõ âåëè÷èí è 1 èëè −1äëÿ ëèíåéíî çàâèñèìûõ (âèäà y = a x + b) âåëè÷èí.
Ìîíòå-Êàðëî: èíòåãðèðîâàíèå
Èíòåãðèðîâàíèå ìåòîäîì Ìîíòå-Êàðëî â îáùåì ñëó÷àåèñïîëüçóåò òîò ôàêò, ÷òî èíòåãðèðîâàíèå ÿâëÿåòñÿ, ïî ñóòè,ñóììèðîâàíèåì. Äëÿ îäíîìåðíîãî ñëó÷àÿ, íà ñàìîì äåëå,äåòåðìèíèðîâàííûå ìåòîäû, èñïîëüçóþùèå êóñî÷íûåàïðîêñèìàöèè ñ ðàâíîìåðíûì èëè àäîïòèðóåìûì èíòåðâàëîì(äëÿ ðåçêî ìåíÿþùèõñÿ ôóíêöèé) ïîçâîëÿþò ïîëó÷èòü áîëååòî÷íûé ðåçóëüòàò ïðè ìåíüøèõ çàòðàòàõ âðåìåíè. Îäíàêî äëÿìíîãîìåðíîãî ñëó÷àÿ ðàçìåðíîñòü çàäà÷è âîçðàñòàåòýêñïîíåíöèàëüíî ñ ðîñòîì ðàçìåðíîñòè, è òóò íå îáîéòèñü áåçìåòîäîå Ìîíòå-Êàðëî. Çàâèñèìîñòü îøèáêè ïðèèíòåãðèðîâàíèè ìåòîäîì Ìîíòå-Êàðëî îò êîëè÷åñòâàèñïûòàíèé îáðàòíî ïðîïîðöèàíàëüíî ÷èñëó ñîáûòèé (ñëåäóåòèç ÖÏÒ îøèáêà ñðåäíåãî). Äàëåå ìû ðàññìîòðèì íåêîòîðûåïðîñòûå ñõåìû èíòåãðèðîâàíèÿ.
Ìåòîä ñðåäíåãîÏðÿìîëèíåéíûé ñïîñîá. Ïóñòü òðåáóåòñÿ íàéòè îïðåäåëåííûéèíòåãðàë
R =
b∫a
Φ(x) dx
ïåðåïèøåì â âèäå:
R =
b∫a
(b − a) Φ(x) · dx
b − a
ò.å. èíòåãðàë ñîâïàäàåò ñ ìàòåìàòè÷åñêèì îæèäàíèåì(b − a)Φ(x) ïðè x ðàñïðåäåëåííîì ðàâíîìåðíî íà èíòåðâàëå[a, b]. Ìåòîä ëåãêî îáîáùàåòñÿ íà ñëó÷àé íåñêîëüêèõïåðåìåííûõ, â ýòîì ñëó÷àå (b − a) íóæíî çàìåíèòü íà∏
(bi − ai ):
R ∼∑N
k=1
∏i (bi − ai )Φ(x1,x2, ...)
N
Âûäåëåíèå ãëàâíîé ÷àñòè
 ïðîñòîì ìåòîäå ñðåäíåãî ñòàòèñòè÷åñêàÿ îøèáêà áóäåòäîâîëüíî áîëüøîé, åñëè ôóíêöèÿ ñèëüíî íåîäíîðîäíà (ïèê,ðåçêèé ðîñò, ïîëþñ . . . ). Åñëè ôóíêöèþ ìîæíî ïðåäñòàâèòü ââèäå ñóììû
Φ(x) = Φ1(x) + Φ2(x)
ãäå Φ1(x) ìîæåò áûòü ïðîèíòåãðèðîâàíà àíàëèòè÷åñêè, à Φ2(x)áîëåå îäíîðîäíà, ìîæíî, èñïîëüçóÿ ëèíåéíîñòü îïåðàòîðàèíòåãðèðîâàíèÿ óëó÷øèòü îøèáêó:
R =
b∫a
Φ1(x)dx +
b∫a
Φ2(x)dx
çäåñü âòîðîé èíòåãðàë áåðåòñÿ óæå óïîìÿíóòûì ìåòîäîìñðåäíåãî.
Ìåòîä ñóùåñòâåííîé âûáîðêèÄîïóñòèì, èíòåãðàë ìîæíî ïåðåïèñàòü â âèäå:
R =
b∫a
Φ(x)
g(x)· g(x) dx
ãäå ôóíêöèÿ g(x) ÿâëÿåòñÿ ïëîòíîñòüþ íåêîòîðîãîðàñïðåäåëåíèÿ è g(x) > 0 íà âñåì èíòåðâàëå [a, b]. Òîãäà, åñëèñîîòâåòñòâóþùóþ ñëó÷àéíóþ âåëè÷èíó ìîæíî ëåãêîñãåíåðèðîâàòü (íàïðèìåð, ìåòîäîì ïðÿìîé âûáîðêè), ìîæíîèñïîëüçîâàòü ñëåäóþùèé àëãîðèòì:
1. ïîëîæèòü s = 0
2. ñãåíåðèðîâàòü x ñîãëàñíî ðàñïðåäåëåíèþ g(x)
3. s += Φ(x)g(x)
4. öèêë ñ øàãà 2
5. ðåçóëüòàò R = sN , ãäå N ÷èñëî èòåðàöèé
Åñòåñòâåííî, ìîæåò áûòü ðåàëèçîâàíà íåêàÿ êîìáèíàöèÿ ñïðåäûäóùèì ìåòîäîì.
Îöåíêà îøèáêè èíòåãðèðîâàíèÿ
Îøèáêà èíòåãðèðîâàíèÿ ìåòîäîì Ìîíòå-Êàðëî îöåíèâàåòñÿêàê êîðåíü äèñïåðñèè ñðåäíåãî:
D
(Φ(x)
g(x)
)= E
((Φ(x)
g(x)
)2)− E
(Φ(x)
g(x)
)2
σ =
√√√√D(
Φ(x)g(x)
)N
Åñòåñòâåííî, òîëüêî ÷àñòü, êîòîðàÿ ðàññ÷èòûâàëàñü ìåòîäîìÌîíòå-Êàðëî.  ñëó÷àå ìåòîäà ñðåäíåãî g(x) = 1
b−a .
Ìåòîä ÌåòðîïîëèñàÄîïóñòèì, èíòåãðàë îò ìíîãîìåðíîé ôóíêöèè ìîæíî ïðåäñòàâèòü â âèäåñðåäíåãî îò ôóíêöèè g(x) ïî ðàñïðåäåëåíèþ f(x), òîãäà ñðåäíåå ìîæíîïðåäñòàâèòü â âèäå ñðåäíåãî ïî ïîñëåäîâàòåëüíîñòè òî÷åê:∫
Ω
g(x) · f (x) dx =1
N
∑i
g(x(i))
âûáîð òî÷êè x(1) äîñòàòî÷íî ïðîèçâîëåí, ñëåäóþùèå òî÷êè ïîëó÷àþòñÿ ïî
ñëåäóþùåìó àëãîðèòìó:
1. Ãåíåðèðóåòñÿ ñëó÷àéíàÿ òî÷êà ñ êîîðäèíàòàìè x(i+1)j èñïîëüçóÿ äëÿ
êàæäîé êîîðäèíàòû ðàâíîìåðíîå ðàñïðåäåëåíèå íà èíòåðâàëå[x
(i)j − δj , x
(i)j + δj ].
2. Åñëè ïîëó÷åííàÿ òî÷êà âûõîäèò çà îáëàñòü èíòåãðèðîâàíèÿ,îòáðàñûâàåòñÿ, íà íà÷àëî öèêëà.
3. Ðàññ÷èòûâàåòñÿ âåëè÷èíà k = f (x(i+1)
f (x(i )), ðàçûãðûâàåòñÿ ñëó÷àéíîå
çíà÷åíèå ξ, ðàâíîìåðíî ðàñïðåäåëåííîå íà èíòåðâàëå [0, 1]. Åñëèξ < k, òî÷êà ïðèíèìàåòñÿ, â ïðîòèâíîì ñëó÷àå îòáðàñûâàåòñÿ, íàíà÷àëî öèêëà.
 ñðåäíåì, ïîëó÷åííàÿ ïîñëåäîâàòåëüíîñòü òî÷åê x(i) ðàñïðåäåëåíà ñ
ïëîòíîñòüþ f (x). Íåäîñòàòêè ìåòîäà îòñóòñòâèÿ ÷åòêîãî ðåöåïòàâûáîðà êîíñòàíò δj , ñëîæíîñòü îöåíêè îøèáîê, ñëîæíîå ïîâåäåíèå ïðèíàëè÷èè ìàêñèìóìîâ, íåðàâíîìåðíîñòü. Äîñòîèíñòâà ïðîñòîòà, ìîæåòðàáîòàòü ïðàêòè÷åñêè â ëþáîé ðàçìåðíîñòè.
Çàäàíèå ïðàêòèêóìà ïî èíòåãðèðîâàíèþ ìåòîäîì ÌîíòåÊàðëî
Ðåàëèçîâàòü ïðîãðàììó âû÷èñëåíèÿ äâóêðàòíîãî èíòåãðàëàìåòîäîì Ìîíòå-Êàðëî, íàéòè çíà÷åíèå è îöåíèòü îøèáêóðàñ÷åòà, èñïîëüçóÿ äâà ñïîñîáà:
1. Ìåòîä ñðåäíåãî
2. Àëüòåðíàòèâíûé ìåòîä (ïî âàðèàíòàì): (1) âûäåëåíèåãëàâíîé ÷àñòè; (2) ìåòîä ñóùåñòâåííîé âûáîðêè
Ïîëíóþ ñòàòèñòèêó 10000 ðàçáèòü íà 10 ñåðèé ïî 1000.Ïðèâîäèòü ðåçóëüòàòû óñðåäíåíèÿ (èíòåãðàë è îøèáêó) ïîêàæäîé ñåðèè è ïî âñåé ñîáðàííîé ê äàííîìó ìîìåíòóñòàòèñòèêå.
Ïðåäñòàâëåíèå ðåçóëüòàòà
def function(x,p):
x = x[0]
y = y[0]
# è ò.ä.
f = TF2(f, function, x1, x2, y1, y2, 1)
# è ò.ä.
def integrate(fun, left, right, number):
xmin = left[0] ; xmax = right[0]
ymin = left[1] ; ymax = right[1]
for n in range(0,number):
# ðîçûãðûø, ñóììèðîâàíèå è ò.ä.
# ïðåäñòàâëåíèå ðåçóëüòàòà:
# 1. íàðèñîâàòü ôóíêöèþ, ïîêàçàòü ìíå ïðîáëåìíûå îáëàñòè
f.Draw()
# 2. öèêë ïî ðåçóëüòàòàì èíòåãðèðîâàíèÿ:
for i in range(0,10):
result = integrate(f, [x1, y1], [x2, y2], 1000)
# íàáîð íåîáõîäèìûõ äëÿ ñðåäíåãî ñóìì
# ïå÷àòü áåãóùåãî ñðåäíåãî
# ïå÷àòü ïîëíîãî ñðåäíåãî è RMS