gpt4 book ai didi

python - 将基础矩阵的变化拟合到数据

转载 作者:行者123 更新时间:2023-12-01 07:35:31 24 4
gpt4 key购买 nike

采用简单的关系:

A*X + X0 = B,

其中 X、X0 和 B 是 2*1 向量,A 是 2*2 矩阵,我想在给定一组点 (X, B) 的情况下找到最佳值 (A, X0)。

我无法直接在 scipy.optimize 库中找到任何适合此问题的内容。

最佳答案

可以使用 linear least square 求解方程:

equation

其中(Ax, Ay)是第一个基地中的点坐标,(Bx,By)是第二个基地中的点坐标。 [[a, b], [c, d]] 是仿射变换矩阵(缩放和旋转),[tx, ty] 是平移。

import numpy as np
A = np.array([[1, 3], [1, 2], [1, 1], [2, 1]])
B = np.array([[4, -2], [4, -4], [4, -6], [2, -6]])

R, residuals, rank, s = np.linalg.lstsq(np.hstack([A, np.ones((A.shape[0], 1))]), B, rcond=None)

R
#array([[-2.00000000e+00, -1.07062737e-15],
# [ 4.44089210e-16, 2.00000000e+00],
# [ 6.00000000e+00, -8.00000000e+00]])

关于python - 将基础矩阵的变化拟合到数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57006548/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com