Возможно переименовать независимое имя переменной во встроенных моделях фиттинга lmfit? - PullRequest
0 голосов
/ 24 октября 2019

Я использую lmfit для подгонки под малым углом рассеяния. Для этого я использую класс Model, чтобы обернуть свои функции и создать составные модели, которые хорошо работают. Однако случилось так, что я написал всю свою функцию с 'q' в качестве независимой переменной (соглашение в дисциплине). Теперь я хотел объединить некоторые из этих q-функций с некоторыми из встроенных моделей. Это конфликтует, потому что переменная independent_variable для них - 'x'. Я пытался сделать что-то вроде modelBGND = lmfit.models.ConstantModel(independent_vars=['q']), но выдает ошибку:

ValueError: Неверное имя независимой переменной ('q') для константы функции

OfКонечно, это можно решить, либо переписав встроенную функцию снова в 'q', либо переписав все мои ранее написанные функции в терминах 'x'. Мне просто любопытно услышать, был ли более прямой подход?

1 Ответ

0 голосов
/ 25 октября 2019

Извините, я не думаю, что это возможно.
Я думаю, вам придется переписать функции, чтобы использовать q вместо x. Таким образом, lmfit.Model использует проверку функции для определения имен аргументов функции, и большинство встроенных моделей действительно требуют, чтобы первый позиционный аргумент был назван x.

...