首页 > 试题广场 >

实现向量到直线的正交投影

[编程题]实现向量到直线的正交投影
  • 热度指数:704 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
实现一个函数来计算向量 v 在向量 L 上的正交投影。正交投影是将一个向量投影到另一个向量上,得到在该方向上最接近的向量。

正交投影的计算公式为:
proj_L(v) = \frac{v \cdot L}{||L||^2} \cdot L

输入描述:
第一行输入一个列表,表示向量 v
第二行输入一个列表,表示向量 L


输出描述:
返回一个列表,表示 vL 上的正交投影向量。返回结果保留三位小数。
示例1

输入

[3, 4]
[1, 0]

输出

[3.0, 0.0]

备注:
1.对应的输入、输出已给出,您只用实现核心功能函数即可。
2.支持numpy、scipy、pandas、scikit-learn库。
def orthogonal_projection(v, L):
    v=np.array(v)
    L=np.array(L)
    vl=v.dot(L)
    l2=L.dot(L)
    scalar=vl/l2
    projL=scalar * L
    projL=projL.round(3)
    return  projL.tolist()
发表于 2026-04-19 15:20:48 回复(0)