gaussian fit to the data

I have my data like
x = 1:1934;
y = (Attached below);
To fit a gaussian distribution, I used
figure; plot(x,y);
myfittype = fittype('B.*exp(-(x-mu).^2/(2*sigma^2))',...
'dependent',{'y'},'independent',{'x'},'coefficients',...
{'B','mu','sigma'}); %
[myfit2, goodness2, output2] = fit(x,y,myfittype);
hold on;
plot(myfit2,x,y);
Even though it fits very incorrectly, I can see a Warning: Start point not provided, choosing random start point.
Ideally, alongwith mu and sigma, coefficent B should also be generated automatically while running fittype. However, it does not.
Any suggestions to improve it?

1 Comment

I think you mix up "maximum likelihood estimates" and "curve fitting".
Take a look at
https://de.mathworks.com/help/stats/mle.html

Sign in to comment.

Answers (0)

Categories

Asked:

on 16 Apr 2019

Commented:

on 16 Apr 2019

Community Treasure Hunt

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

Start Hunting!