Подгонка многомерной кривой_fit в PythonPython

Программы на Python
Anonymous
Подгонка многомерной кривой_fit в Python

Сообщение Anonymous »

Я пытаюсь подогнать простую функцию к двум массивам независимых данных в Python. Я понимаю, что мне нужно объединить данные для моих независимых переменных в один массив, но что-то все еще не так с тем, как я передаю переменные, когда пытаюсь выполнить подгонку. (Есть несколько предыдущих сообщений, связанных с этим, но они не принесли особой пользы.)

Код: Выделить всё

import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit

def fitFunc(x_3d, a, b, c, d):
return a + b*x_3d[0,:] + c*x_3d[1,:] + d*x_3d[0,:]*x_3d[1,:]

x_3d = np.array([[1,2,3],[4,5,6]])

p0 = [5.11, 3.9, 5.3, 2]

fitParams, fitCovariances = curve_fit(fitFunc, x_3d[:2,:], x_3d[2,:], p0)
print ' fit coefficients:\n', fitParams
Я получаю сообщение об ошибке:

Код: Выделить всё

raise TypeError('Improper input: N=%s must not exceed M=%s' % (n, m))
TypeError: Improper input: N=4 must not exceed M=3
Какова длина M? Является ли N длиной p0? Что я здесь делаю не так?

Вернуться в «Python»