2

我正在尝试使用正态多项式拟合双变量多项式的数据。我从双变量数据拟合的示例开始:Fitting polynomials to data

问题是这些不是正交的,因此系数会随着度数的变化而变化。我的计划是使用 Legendre 多项式(构建 X 和 Y 多项式,然后采用类似于我在下面构建 A 列表的方式的叉积),但我被困在如何拟合数据上。

def least_sqr(n,degree,x,y,DEL):
    #n==length of list x#
    A = []
    for i in range(n):
        A.append([])
        for xd in range(degree+1):
            for yd in range(degree+1-xd):
                A[i].append((x[i]**xd)*(y[i]**yd)) #f_j(x_i)

    q,_,_,_ = linalg.lstsq(A,DEL)
    return q

def MAIN():
    x,y,delx,dely,n = data_parse(file1, file2, file3, file4);
    degree=3
    q=least_sqr(n,degree,x,y,delx)
    r=least_sqr(n,degree,x,y,dely)  
4

0 回答 0