def TaylorFit(block):
'''
a*s*s + b*x*x + c*y*y + d*x*y + e*s + f*x + g*y + h
'''
A = []
b = []
for s in range(3):
for x in range(3):
for y in range(3):
z = block[s,x,y]
row = [s*s,x*x,y*y,x*y,s,x,y,1]
A.append(row)
b.append([z])
params,resids,rank,s = lstsq(A,b)
return params.flatten()
评论列表
文章目录