所以我写了一个函数,它是伪voigt行的总和:
def fitfunc(x, vars):
val = 0
for key in vars:
val += psvo(x,*vars[key])
return val
psvo是我写的伪voigt函数,它接受五个参数(x,sigma,mu,amplitude,alpha),vars是一个包含四个值集的字典。这个功能让我可以根据变量中的键数快速计算出我想要的多个voigt峰值的总和。我想在optimize.curve_fit中使用它,但找不到一个好方法。有没有更好的方法来编写这个函数或更好的方法来适应它?我宁愿尝试同时适应所有峰值,否则会引入错误,因为峰值A的位置会影响峰值B的位置。