Hi Erik, Do for example: void erik() { TF1 *f1 = new TF1("f1", "(x<10)*(1/7)*exp(-((x-2)/5)^2) + \ (x>10)*(1/5)*exp(-((x-4)/5)^2)", 0, 20); TH1F *h1 = new TH1F("h1","h1",100,0,20); double data; for (int i = 0; i < 10000; i++) { data = f1->GetRandom(); h1->Fill(data); } h1->Draw(); } Rene Brun Erik Jakobsen wrote: > > Hi All, > > I'm trying to create a histogram filled with random numbers generated from > a function, which is a piecewise function. Now how do you define the > intervals that seperate the piecewise functions? > > Example. Say I have two gaussian funcions (1/7)*exp(-((x-2)/5)^2) and > (1/5)*exp(-((x-4)/5)^2) that I want to piece together from [0,10] and > [10,20] respectively. How is this then stated in the following histogram > declaration? > > Double_t* data; > TF1 *f1 = new TF1("f1", "(1/7)*exp(-((x-2)/5)^2) + > (1/5)*exp(-((x-4)/5)^2)", 0, 2000); > > for (i = 0; i < 1000000; i++) { > data = f1->GetRandom(); > h1->Fill(data[8],1); > } > > Thanks! > > Erik Jakobsen > > P.S. I'm not on the ROOT Talk list, so please answer to jakobsen@nbi.dk
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:50 MET