ValueError: matmul: 输入操作数 1 在其核心维度 0 中存在不匹配,具有 gufunc 签名 (n?,k),(k,m?)->(n?,m?)(大小 1 与 3 不同)

BiS*_*raz 10 python numpy python-3.x

我已经使用 matmul 编写了代码,但出现以下错误:

   "ValueError: matmul: Input operand 1 has a mismatch in its core dimension 0, with gufunc signature (n?,k),(k,m?)->(n?,m?) (size 1 is different from 3)"
Run Code Online (Sandbox Code Playgroud)

代码:

    R = [[0.40348195], [0.38658295], [0.82931052]]
    V = [0.33452744, 0.33823673, 0.32723583]
    print("Rt_p: ", R)
    B = np.matmul(V,np.transpose(R))/pow(LA.norm(R), 2)
    print("B", B)
Run Code Online (Sandbox Code Playgroud)

Ice*_*Hay 10

您正在将具有 3 行 1 列的矩阵转换为具有 3 列和 1 行的矩阵。然后你用一个类似的矩阵(也是 3 列 1 行)乘以它,这在数学上是不正确的。因此,您可以删除转置函数或将 R 矩阵定义为 1 行 3 列,然后对其进行转置。检查以获取更多信息。