ガウス関数の FWHM を Mathematica の数式処理で求める

g[x_, mu_, sigma_] :=
1/(Sqrt[2 *Pi]*sigma)*Exp[-(x – mu)^2/(2*sigma^2)]

x = mu で最大値を取るので,その値の 1/2 になる x 座標 a を見出す

Solve[g[a, mu, sigma] == 1/2*g[mu, mu, sigma], a, Reals]

解:

{{a -> mu  – Sqrt[sigma^2] Sqrt[2 Log[2]]},
{a -> mu  + Sqrt[sigma^2] Sqrt[2 Log[2]]}}

解の差 a2-a1 =

2 Sqrt[sigma^2] Sqrt[2 Log[2]]

 

カテゴリー: 未分類 | コメントする

python ファイル名の操作

 

カテゴリー: python | コメントする

フィッティング Scipy optimize curve_fit

パラメータの値をある範囲内に指定するときは,bounds option を使う.
値の与え方は,

bounds = ((min1, max1), (min2, max2), (min3, max3))
ではなく,
bounds = ((min1, min2, min3), (max1, max2, max3))
というようにする.

weight をかけたフィッティングをするには,オプション sigma を使う.
例えば,sigma = 標準偏差の配列, というように指定する.

カテゴリー: 未分類 | コメントする

リストの操作

カテゴリー: python | コメントする

Mathematica で高次の項を無視する

https://stackoverflow.com/questions/21517020/in-mathematica-how-can-i-cut-off-the-high-order-terms-in-a-polynomial

In[1]:= y = a0 + a1*x + a2*x^2 + a3*x^3 + a4*x^4;
y /. x^b_ /; b >= 3 -> 0

Out[2]= a0 + a1 x + a2 x^2

カテゴリー: 未分類 | コメントする