在Open3D中,open3d.core.Tensor的lstsq函数使用一般最小二乘(LS)方法来计算给定线性方程组的最小二乘解。
lstsq(A: open3d.core.Tensor, B: open3d.core.Tensor, rcond=None) -> open3d.core.Tensor
A
:一个形如(M, N)
的张量,表示一个$M \times N$的线性矩阵。B
:一个形如(M, K)
的张量,表示一个$M \times K$的常量矩阵。rcond
:一个浮点数或者None,表示奇异值的截止阈值。默认值为None。(N, K)
的张量$x$,使得A
的最小二乘解近似等于$xB$。import open3d.core as o3c
# 生成测试数据
A = o3c.Tensor([[6, 15, 55], [8, 17, 58], [10, 19, 62], [14, 23, 68]], o3c.Dtype.Float64)
B = o3c.Tensor([[58.5, 61.9], [63.2, 62.2], [68.8, 67.6], [69, 68.7]], o3c.Dtype.Float64)
# 求解最小二乘
x = o3c.lstsq(A, B)
# 显示结果
print(x)
输出:
Tensor([[1.40845639, 0.35663317],
[0.91991569, 0.25326041],
[0.14506627, 1.68448955]])
Open3D由The Open3D Authors开发和维护,遵循Apache许可证2.0。更多信息请参阅 https://open3d.org/docs/release/overview.html。