我正在使用lmfit进行小角度X射线散射图拟合。为此,我使用Model类包装我的函数,并使组合模型运行良好。但是,碰巧我用'q'
作为自变量编写了所有函数(该学科中的惯例)。现在,我想将其中一些q函数与某些内置模型结合起来。之所以发生冲突,是因为它们的Independent_variable为'x'
。我尝试做类似modelBGND = lmfit.models.ConstantModel(independent_vars=['q'])
的操作,但是它给出了错误:
ValueError:函数的独立变量名称('q')无效 恒定
当然,可以通过再次在'q'
中重写内置函数,或通过用'x'
重铸我以前编写的所有函数来解决。我只是想知道是否有更直接的方法?
答案 0 :(得分:0)
对不起,我认为不可能。
我认为您将不得不重写函数以使用q
而不是x
。也就是说,lmfit.Model
使用函数检查来确定函数自变量的名称,并且大多数内置模型确实确实需要将第一个位置自变量命名为x
。