Finding the vertical offset of a gaussian fit

48 次查看(过去 30 天)
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 个评论
Matt J
Matt J 2021-7-28
编辑:Matt J 2021-7-28
sorry for posting this again
Indeed, you Accepted an answer to the same question here:
Why do you need a different answer now?
Adam Danz
Adam Danz 2021-7-29
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.

请先登录,再进行评论。

采纳的回答

Matt J
Matt J 2021-7-28
编辑:Matt J 2021-7-28
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(:));
Local minimum possible. lsqcurvefit stopped because the final change in the sum of squares relative to its initial value is less than the value of the function tolerance.
[v0,amp,mu,var]=p{:}, sig=sqrt(var)
v0 = 1.6697
amp = 4.0421
mu = 4.9868
var = 5.4130
sig = 2.3266
yfit=v0+amp*exp(-(((x-mu).^2)/(2*var)));
plot(x,y,'o',x,yfit)
  2 个评论
Stefan Rick
Stefan Rick 2023-6-19
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?

请先登录,再进行评论。

更多回答(0 个)

产品


版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by