Deprecated: Array and string offset access syntax with curly braces is deprecated in /mnt/hep_web/hep_web/member/n-kota/dokuwiki/inc/init.php on line 542
ja:root:tf1 [GiriWiki]

ユーザ用ツール

サイト用ツール


ja:root:tf1

TF1


基本

  TF1 *func1 = nes TF1("func1" , "x*sin(x)" , x_min , x_max);//x_min,x_maxは定義域 
  TF1 *func2 = nes TF1("func2" , "gaus" , x_min , x_max);// システム定義関数を使うことができる
  TF1 *func3 = nes TF1("func3" , "gaus(0)+pol1(3)" , x_min , x_max);// 複数使う場合は最初のパラメータの番号を指定する

システム定義関数(TMath::)

  • expo —> exp([0]+[1]*x)
  • polN —> [0]+[1]*x+[2]*x**2+…+[N]*x**N
  • gaus —> [0]*exp(-0.5*( (x-[1])/[2])**2)
  • gausn —> [0]*exp(-0.5* ( (x-[1])/[2])**2) / (sqrt(2*pi)*[2]) )
    • 規格化ガウシアン
  • landau —> MPV , sigma

function

  void      TF1::Draw(Option_t *option="")
  void      TF1::Print(Option_t *option="")//パラメータなどを出力
  Double_t  TF1::Eval(Double_t x, Double_t y=0, Double_t z=0, Double_t t=0)//あるxのときのyの値を返す
  Double_t  TF1::Integral(Double_t a, Double_t b, Double_t epsrel=1.e-12)//aからbまで積分
  Double_t  TF1::Derivative(Double_t x, Double_t *params=0, Double_t epsilon=0.001)//xにおける微分を得る
  void      TF1::SetTitle(const char *title = "")//関数・軸のタイトルを設定
 
  void      TF1::SetParName(Int_t ipar, const char *name)
  void      TF1::SetParNames(const char *name0="p0", const char *name1="p1", ..., const char *name10="p10")
 
  void      TF1::SetParameter(Int_t param, Double_t value)
  void      TF1::SetParameter(const TString &name, Double_t value)
  void      TF1::SetParameters(const Double_t *params)
  void      TF1::SetParameters(Double_t p0, Double_t p1, Double_t p2=0,..., Double_t p10=0)
 
  void      TF1::SetParError(Int_t ipar, Double_t error)//指定したパラメータに値を代入
  void      TF1::SetParErrors(const Double_t *errors)//全パラメータを配列で代入。配列要素数は少なくともパラメータ数分は必要
 
  void      TF1::SetParLimits(Int_t ipar, Double_t parmin, Double_t parmax)//指定したパラメータの可動範囲を指定(0,0にすると解放)
  void      TF1::ReleaseParameter(Int_t ipar)//SetParLimitsで指定した可動範囲を解放(SetParLimits(ipar,0,0)と同じ)
 
  void      TF1::FixParameter(Int_t ipar, Double_t value)
 
  void      TF1::SetRange(Double_t xmin, Double_t xmax)//描画範囲を指定
 
 
  Double_t  TF1::GetParameter(Int_t ipar)//指定したパラメータの値を返す
  Double_t  TF1::GetParameter(const TString &name)//パラメータの名前でも指定可能
  Double_t* TF1::GetParameters()//全パラメータを配列にして返す
  Double_t  TF1::GetParameters(Double_t *params)//渡した配列にパラメータを詰める
 
  Double_t  TF1::GetParError(Int_t ipar)//指定したパラメータのエラーを返す
  Double_t* TF1::GetParErrors()//全パラメータのエラーを配列にして返す
 
  void      TF1::GetParLimits(Int_t ipar, Double_t &parmin, Double_t &parmax)
  char*     TF1::GetParName(Int_t ipar)
 
  Double_t  TF1::GetChisquare()//fitのχ2を返す
  Double_t  TF1::GetNDF()//fitの自由度を返す

使い方

  func->Draw();
  func->Print();//パラメータを出力
  func->Eval(x);//あるxのときのyの値を返す
  func->Integral(x1,x2);//x1からx2まで積分
  func->Derivative(x);//xにおける微分を得る
  func->SetLineColor(color);
  func->SetLineStyle(style);
  func->SetLineWidth(width);
  func->SetTitle("fffffff;xxxx;yyyy");// functionTitle ; XaxisTitle : YaxisTitle
  func->SetParameters(p0,p1,...);
  func->SetParName(p_num,p_name);
  func->SetParNames(p0_name,p1_name,...);
ja/root/tf1.txt · 最終更新: 2017/08/30 14:38 by kota