J'essaie d'ajuster un nombre de gaussiennes de largeur fixe à un seul pic large. La seule façon que j'ai pu faire est avec peakfit.m. Les exemples de données peuvent être téléchargés here.La détection des pics donne des résultats différents lorsque l'on utilise octave ou oct2py en python
En octave le code que je l'utilise est:
>>peakfit(data,90.5,3,3,11,0,0,0,0,[1,1,1],0,0)
ans =
1.0000e+000 9.0012e+001 1.0185e+004 1.0000e+000 1.0749e+004
2.0000e+000 9.0500e+001 9.3075e+003 1.0000e+000 9.9035e+003
3.0000e+000 9.0988e+001 1.0186e+004 1.0000e+000 1.0749e+004
Elles sont assez proches des trois pics I utilisés pour créer l'ensemble de données initial.
Ce sont les résultats lorsque j'utilise oct2py
import oct2py as op
import numpy as np
data=np.loadtxt(file)
octave=op.Oct2Py()
octave.peakfit(data,90.5,3,3,11,0,0,0,0,[1,1,1],0,0)
#Out:
array([[ 1, 91, 8873, 1, 14583],
[ 2, 88, 17314, 1, 400],
[ 3, 90, 11011, 1, 18459]])
Si je forme un seul pic dans les deux cas, le résultat est le même.
Octave
1.0000e+000 9.0500e+001 2.0576e+004 1.4670e+000 3.2130e+004
Oct2py
array([[ 1.00000000e+00, 9.05000004e+01, 2.05763986e+04,
1.46695147e+00, 3.21304879e+04]])
Où les différences pourraient provenir?