Finding the vertical offset of a gaussian fit
21 views (last 30 days)
Show older comments
I apologize for posting this question again, as I believe I miss presented my question earlier.
I have the following data points as shown in the picture, and I am in the quest to obtain the vertical offset (v0) for the best gaussian fit to my data point. Equation for gaussian fit: gaus = amp*exp(-(((x-mu).^2)/(2*sig.^2)))+ v0.
I currently have the datasets x and y and I am stuck at that, any help is appreciated and sorry for posting this again
3 Comments
Adam Danz
on 29 Jul 2021
Also, the previous answer you accepted and then unaccepted also includes a vertical offset term and even lists the fit parameter values in the axes title.
You also copied the guassian equation from the previous answer into your current question above. I don't see how this question differs from the previous question.
Accepted Answer
Matt J
on 28 Jul 2021
Edited: Matt J
on 28 Jul 2021
This File Exchange routine does gaussian+constant fitting:
mu=5;
sig=2.3;
amp=4;
v0=1.7;
x=linspace(0,10,100);
y=amp*exp(-(((x-mu).^2)/(2*sig.^2)))+ v0;
y=y+randn(size(y))*0.1;
p=gaussfitn(x(:),y(:));
[v0,amp,mu,var]=p{:}, sig=sqrt(var)
yfit=v0+amp*exp(-(((x-mu).^2)/(2*var)));
plot(x,y,'o',x,yfit)
2 Comments
Stefan Rick
on 19 Jun 2023
I try to test gaussfitn with my own data and get the error:
"Error using gaussfitn
Expected zdata to be an array with number of elements equal to 1."
for
p=gaussfitn(1:645,yData)
Anyone find the mistake?
More Answers (0)
See Also
Categories
Find more on Curve Fitting Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!