np.array上的最小二乘会引起广播错误

时间:2019-04-24 08:04:52

标签: python-3.x numpy-broadcasting

我是使用Python的初学者,并且我一直试图在一组给定数据上使用optimize.curve_fit。 这是我要使用的线性函数

Y=b*X+c
  • X_data是5x10的矩阵
  • Y_data是1x5数组
  • b是10个元素的数组
  • c是浮点数

    z=np.array(data['Delta.m/sec2'])
    
    w, h = 10, 5;
    X=np.matrix( [[0 for x in range(w)] for y in range(h)], dtype='float64')
    Y=np.array( [[0 for x in range(h)]], dtype='float64')
    
    for i in range(h):
        Y[0, i]=z[i]
        for j in range(w):
            X[i, j]=z[i+j+1]
    
    def func1(x, b, c):
        return np.inner(x, b)+c
    
    from scipy import optimize 
    c=0.1
    b=np.array(np.ones(10))
    p0 = [b, c]
    w = optimize.curve_fit(func1, X, Y, p0)     
    

到目前为止,我一直无法获得任何信息

  

TypeError:输入不正确:N = 2不能超过M = 1

0 个答案:

没有答案