【问题标题】:Estimating vector scalars to approach another vector估计向量标量以接近另一个向量
【发布时间】:2021-02-03 13:10:42
【问题描述】:

我有三个分别按 a、b 和 c 缩放的向量。如何获得 a、b 和 c 的估计值,以使向量的总和最接近第四个向量?

【问题讨论】:

    标签: python math computer-science heuristics


    【解决方案1】:

    使用 Numpy。 solve() 函数就是你要找的。​​p>

    import numpy as np
    
    from numpy.linalg import solve
    
    A = np.array([[4,11,9],[6,5,7],[3,5,9]])
    B = np.array([3,8,5])
    X = solve(A,B)
    
    print(A)
    print(B)
    print(X)
    

    输出应该是:

    [[ 4 11  9]
     [ 6  5  7]
     [ 3  5  9]]
    [3 8 5]
    [ 1.28723404 -0.54787234  0.43085106]
    

    【讨论】:

      【解决方案2】:

      如果您逐行阅读示例,您有三个方程式。

      a*4 + b*11 + c*9 = 2
      a*6 + b*5 + c*7 = 8
      a*3 + b*5 + c*9 = 5
      

      然后你可以很容易地解决每个变量

      a = (2 - b*11 - c*9) / 4
      b = (8 - a*6 - c*7) / 5
      b = (8 - ((2 - b*11 - c*9) / 4)*6 - c*7) / 5
      b*5 + b*16.5 = 8 - 3  - c*13.5 - c*7
      b = (8 - 3  - c*13.5 - c*7) / 21.5
      a = (2 - ((8 - 3  - c*13.5 - c*7) / 21.5)*11 - c*9) / 4
      

      现在你可以用最后一个方程求解 c。当你有 c 时,使用它在 a&b 的最后两个方程中的值来求解它们。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-06
        • 2012-04-12
        • 2010-09-23
        相关资源
        最近更新 更多