# Gaussian fit to xy data and extracting FWHM

280 ビュー (過去 30 日間)
Matlab User 2020 年 1 月 8 日

Hello,
I am hoping someone could help. I am going round in circles although i'm sure it's a straightforward answer.
I have an xy data set (see attached for example). I want to fit a gaussian to this, from which the FWHM of the gaussian and the goodness of fit extracted (those that do not have good gaussian fits will be then rejected on the basis of r squared values.
I tried using cftool, and from what i have read, I can use FWHM= 2*sqrt(2*log(2))*c1 to get the FWHM. But the value I get (~30), doesn't match up to what i expect from looking at the curve at the half-maximum (~20).
Thankyou

サインインしてコメントする。

### 採用された回答

Daniel M 2020 年 1 月 8 日
This is because of the slightly different way cftool has defined the gaussian equation for the fit, and it ends up multipling the c1 coefficient by a factor of sqrt(2) from the true value of the standard deviation.
The equation for FWHM is
FWHM = 2*sqrt(2*log(2))*sigma
%%% sigma, NOT c1!
For fitting, MATLAB uses
f(x) = a1*exp(-((x-b1)/c1)^2)
And wherever you're reading the FWHM equation defined the gaussian as
f(x) = (1/sigma/sqrt(2*pi))*exp(-(x-mu)^2/(2*sigma^2))
By equating the two, you'll find that
sigma = c1/sqrt(2)
Therefore the FWHM equation becomes
FWHM = 2*sqrt(2*log(2)) * (c1/sqrt(2))
FWHM = 2*sqrt(log(2)) * c1
And in fact, when you use this new equation, you get FWHM = 21.78, which is accurate.
##### 1 件のコメント-1 件の古いコメントを表示-1 件の古いコメントを非表示
Matlab User 2020 年 1 月 8 日
Thank-you so much!

サインインしてコメントする。

### その他の回答 (1 件)

Fynn Reinbacher 2020 年 11 月 5 日

サインインしてコメントする。

### カテゴリ

Help Center および File ExchangeDiscrete Math についてさらに検索

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by