При использовании curve_fit
из scipy.optimize
, чтобы подогнать некоторые данные в python, сначала нужно определить подгонку функцию (например, полином 2-го порядка) следующим образом:
def f(x, a, b): return a*x**2+b*x
- Затем приступаем к примерке
popt, pcov = curve_fit(f,x,y)
Но теперь вопрос в том, как определить функцию в точке 1., если функция содержит интеграл (или дискретную сумму), например:
Экспериментальные данные по-прежнему даны для x и f (x), поэтому пункт 2 будет аналогичен, я думаю, когда я смогу определить f (x) в python. Кстати, я забыл сказать, что предполагается, что g(t) имеет здесь хорошо известную форму и содержит подгоночные параметры, то есть такие параметры, как a и b, приведенные в полиномиальном примере. Любая помощь горячо приветствуется. Вопрос действительно должен быть общим, а функции, используемые в посте, являются просто случайными примерами.
f
вы знаете все параметры, поскольку они передаются в качестве аргументов. - person cfh   schedule 19.05.2015a
иb
, которые вы пытаетесь подобрать, но используете их в формулеa*x**2+b*x
. - person cfh   schedule 19.05.2015curve_fit
вызывает вашf
, она всегда предоставляет определенные значения дляa
иb
. Вы можете использовать их для вычисления полинома, вычисления интеграла, делать все, что захотите. - person cfh   schedule 19.05.2015