Hi,
I upload my code and data I don't know why the fit not working and the amplitude not in the center of the gaussain
I hope someone can help.
Thanks,

Antworten (2)

Yongjian Feng
Yongjian Feng am 3 Aug. 2021

0 Stimmen

Try to contact the auther of the fileexchange function first?
Matt J
Matt J am 3 Aug. 2021
Bearbeitet: Matt J am 3 Aug. 2021

0 Stimmen

You could try this alternative gaussian fitting routine, and see if you get different results:

4 Kommentare

Z998567
Z998567 am 3 Aug. 2021
Hi Matt,
I try it, but I got an error with this "zdata: Mx1 vector of corresponding samples z(xdata)"
I convert my data to one row by "zdata = imageData(:);" but I got an error:
Error using gaussfitn (line 66)
Expected zdata to be an array with number of elements equal to 351.
Thanks
Matt J
Matt J am 3 Aug. 2021
Bearbeitet: Matt J am 3 Aug. 2021
Here's what I get,
load gauss
[X,Y]=ndgrid(1:length(imageData));
XY=[X(:),Y(:)];
params=gaussfitn(XY, imageData(:));
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.
[D,A,mu,sig]=deal(params{:});
Zfit= D + A*exp( -0.5 * sum( (sig\(XY.'-mu)).*(XY.'-mu) ));
imageFit=reshape(Zfit,size(imageData));
montage({imageData,imageFit})
caxis(4000*[0.7615 0.8126])
Z998567
Z998567 am 3 Aug. 2021
Thanks Matt, it works but I need to plot the fir as an image like the attachement. Is there away with this function.
Matt J
Matt J am 3 Aug. 2021
Once you have the fitted parameters, you can plot it any way you wish.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Convert Image Type finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 3 Aug. 2021

Kommentiert:

am 3 Aug. 2021

Community Treasure Hunt

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

Start Hunting!

Translated by