Effacer les filtres
Effacer les filtres

ezfit using a function

7 vues (au cours des 30 derniers jours)
aneps
aneps le 8 Juil 2022
I use ezfit to fit a gaussian in my data. It is straight forward as it is in the ezfit examples:
f1 = ezfit(x,counts,'gauss');
showfit(f1)
I want to fit my own function. So before doing that, I attempted using the equation of gaussian, exaclty the same equation in the ezfit documentation to fit the data ( http://www.fast.u-psud.fr/ezyfit/html/ezfit.html ). I am doing this to check if I am doing any mistakes. I did as follows
f1 = ezfit(x,counts,'a*exp(-(x-x0)^2/(2*s^2))');
showfit(f1)
This time it doesn't fit! Could you please tell me what is wrong in it?
  2 commentaires
Natalia Demidova
Natalia Demidova le 12 Juil 2022
Hi,
Notice in the ezfit documentation the way functions are specified are with syntax of "y=" as in a usual function. Thus it should look like:
f1 = ezfit(x,counts,'y = a*exp(-(x-x0)^2/(2*s^2))');
Further for your own function you can specify specific guesses for parameters (such as a and s here). The first guesses for the function (ex. a=1 and s=2) to try would be after semicolon in the same string and look like:
f1 = ezfit(x,counts,'y = a*exp(-(x-x0)^2/(2*s^2)); a=1; s=2');
Have fun :)
aneps
aneps le 13 Juil 2022
Still it doesn't fit! I used f1 = ezfit(x,counts,'y = a*exp(-(x-x0)^2/(2*s^2))');, it doesn;t work. But if I use f1 = ezfit(x,counts,'gauss'); it do the job! Don't understand what cause this difference. Data attached.. Here, first I plot the histogram of column 9. Then I do the curve fit on the histogram.

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Statistics and Machine Learning Toolbox dans Help Center et File Exchange

Produits


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by