import numpy as np
from scipy.optimize import curve_fit
x1 = [0.25, 0.33, 0.40, 0.50, 0.60, 0.75, 1.00]
y1 = [1.02, 1.39, 1.67, 1.89, 2.08, 2.44, 2.50]
def mmfunc(x1, d, e):
return d*x1/(e + x1)
y2 = mmfunc(x1,6.0,1.0)
popt, pcov = curve_fit(mmfunc, x1, y1)
Я получаю эту ошибкуPython - curve_fit - ошибка не-INT/поплавковый
TypeError: can't multiply sequence by non-int of type 'float'
(x1 представляет собой массив (поплавки), г, д являются поплавки)
(я пытался считывая значения из файла, печатали значения (они являются поплавками) ... Я пробовал более простую функцию - ничего не работает!)
Что неясно об исключении? –
Можете ли вы поместить это в форму вопроса? – Curt
Проблема в том, что «x1 - это массив (floats)», это неверно. Вместо того, чтобы просто предположить, что это то, что вы хотите, это должно быть первым, что вы проверяете. Например, 'print (type (x1))' немедленно сообщит вам, что это фактически 'builtins.list', а не' numpy.ndarray'. И поэтому вы не можете использовать операции с массивом. – abarnert