x=1:100; sigma=15; mu=40; A=3; plot(normpdf(x,mu,sigma)) y=A*exp(-(x-mu).^2/(2*sigma^2))+randn(size(x))*0.5; hold all; plot(x,y/(sum(y)),'.'); %% fitting [sigmaNew,muNew,Anew]=mygaussfit(x,y); y2=Anew*exp(-(x-muNew).^2/(2*sigmaNew^2)); plot(x,y2/(sum(y2))); %% bis [sigmaNew2,muNew2]=gaussfit(x,y/sum(y)); plot(normpdf(x,muNew2,sigmaNew2)); legend('truth','measurements','mygaussfit','gaussianfit')