У меня логарифмическая функции быть приспособленным к набору точекМожно ли применять ограничения на функцию диапазона/зависимых функций при использовании scipy curve_fit?
def log_func(x, a, b):
return a * np.log(x) + b
popt, pcov = curve_fit(log_func, x, yn)
Это приводит к сюжету следующим образом - Plotted Curve
Тем не менее, система имеет ограничение, что диапазон должен быть фиксированным в диапазоне от 0 до 100 . Я специально прошел точки в этих пределах (т.е. x = np.array([3200 ... other points ... 42000 ])
и y = np.array([0 ... other points ... 100 ])
, но очевидно, что кривая не обязательно фиксировать эти значения.
Я прочитал, что я могу добавить границы для параметров (так a
и b
), но есть ли способ ограничить вывод, специально заставив кривую через две конечные точки. Или, наоборот, мне нужно ввести какое-то чрезвычайное наказание функции, чтобы привести к параметрам, которые будут приводить к результату между 0 и 100?