実験データに理論式をフィットさせてパラメータを得る

Dec. 9, 2013

データを読み込む

データファイルを呼び出すが、最初はファイルのありかにフォルダーを移動しなければいけない。次のようにすればよい。

Directory[]

SetDirectory["C:\\Users\\otabe\\Documents\\src"]

Directory[]

データは普通のテキストファイルにtabででも半角スペースでも使って区切った(X, Y)データの並びで準備する。これを上記のフォルダに入れて置く。data.txtという名前。

data=ReadList["data.txt",{Number,Number}]

graph1=ListPlot[data]

関数にフィットさせる

関数は y = a Exp[ -x/ l]でaとlがパラメータだったとしよう。つぎのFindFit[  ]を使えば簡単にパラメータaとlを求めることができる。

ans=FindFit[data,a Exp[-x/l],{a,l},x]

graph2=Plot[a Exp[-x/l] /. ans ,{x,1,12}]

最初のデータと合せてみるとよくフィットしていることがわかる。

Show[graph1,graph2]

他にもFit[  ]を使えばいわゆる線形結合の式に合せることができる。多項式近似の時にはFit[  ]が便利だろう。