def updateTransform(self):
muX = np.divide(np.sum(np.dot(self.P, self.X), axis=0), self.Np)
muY = np.divide(np.sum(np.dot(np.transpose(self.P), self.Y), axis=0), self.Np)
self.XX = self.X - np.tile(muX, (self.N, 1))
YY = self.Y - np.tile(muY, (self.M, 1))
self.A = np.dot(np.transpose(self.XX), np.transpose(self.P))
self.A = np.dot(self.A, YY)
self.YPY = np.dot(np.transpose(YY), np.diag(self.P1))
self.YPY = np.dot(self.YPY, YY)
Bt = np.linalg.solve(np.transpose(self.YPY), np.transpose(self.A))
self.B = np.transpose(Bt)
self.t = np.transpose(muX) - np.dot(self.B, np.transpose(muY))
评论列表
文章目录