Fit Normalised Gaussian to data
7 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi,
I am trying to fit a nromalised Gaussian to my data, using
f(x) = a/sqrt(2pi*sigma^2) * exp (-(x-mu)^2/sigma^2)
However the fit function in matla does not accound for the sigma coefficient. Is there a way to modify the equation of the fit function? I tried to do a manual fit but it doesn't seem to work.
Thanks
2 comentarios
Matt J
el 28 de Abr. de 2021
I am trying to fit a nromalised Gaussian to my data, using
Shouldn't it be,
f(x) = a/sqrt(2pi*sigma^2) * exp (-0.5*(x-mu)^2/sigma^2)
Respuestas (1)
Matt J
el 28 de Abr. de 2021
Editada: Matt J
el 28 de Abr. de 2021
You can use,
Example:
%% Synthetic data
fn=@(x,a,mu,sigma) a./sqrt(2*pi*sigma^2) .* exp (-(x(:)-mu).^2/2/sigma^2);
xdata=linspace(-3,9,20).';
ydata=fn(xdata,1,3,2)+0.006*randn(size(xdata));
%% Do the fit
ulb={0,[],[],[]};
[params,resnorm, residual,exitflag,output]=gaussfitn(xdata,ydata,[],ulb,ulb);
[A,mu,variance]=deal(params{2:4});
sigma=sqrt(variance);
a=A*sqrt(2*pi*variance);
%% Verify
xs=linspace(min(xdata),max(xdata),1000);
plot(xdata,ydata,'o',xs, fn(xs,a,mu,sigma));shg
0 comentarios
Ver también
Categorías
Más información sobre Linear and Nonlinear Regression en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
