Clear Filters
Clear Filters

Fitting data with a exponentially modified gaussian equation

19 views (last 30 days)
Hello,
I am using curve fitting tool box and I am trying to fit below equation of the exponentially modified gaussian distribution. I have attached my attempt at fittin the PDF, I have also attached my x and y data along with this question. Please help me with the solution. Thanks very much!
(c/2) * (exp((c^2*sg^2)/2)) * exp(-c*(x-mu)) * erf((1/sqrt(2)) * ((c*sg) - ((x-mu)/sg)))

Answers (1)

Matt J
Matt J on 18 Mar 2022
Edited: Matt J on 18 Mar 2022
Because you are using a custom model, you need to supply an initial guess of the parameters under "Fit Options". Otherwise, the toolbox will choose one at random (which will probably be bad).
  5 Comments
Torsten
Torsten on 18 Mar 2022
Is your function a probability density function ?
If yes, try
omega = 800.0;
zeta = 7500;
alpha = -1.3;
f = @(x) 2/(omega*sqrt(2*pi))*exp(-((x-zeta).^2/(2*omega^2)))*0.5.*(1+erf(alpha*(x-zeta)/omega));
x = 7000-1500:0.01:7000+1000;
plot(x,f(x))
But your .png file seems to indicate that the area under your curve is not equal to 1. So I assume you are not dealing with a pdf. In this case, the above function f is not suitable.
John D'Errico
John D'Errico on 18 Mar 2022
It vaguely looks like the data comes from a histogram, but it was not normalized to have unit area under the curve.
trapz(x,y)
ans =
73.2481

Sign in to comment.

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!