【问题标题】:Multiplying Two matrices (2x1) and (2x2( [duplicate]将两个矩阵 (2x1) 和 (2x2( [重复]
【发布时间】:2019-04-09 10:34:36
【问题描述】:

您好,对于我的代码,我必须将点/向量 (1,0) 乘以矩阵 [1.00583, -0.087156], [0.087156, 1.00583]。结果应该给我一个新点(x,y) 这是我目前所拥有的:

import matplotlib.pyplot as plt
import numpy as np
A = np.array([[1],[0]])
B = np.array([[1.00583, -0.087156], [0.087156, 1.00583]])
test =np.multiply(A, B)
print (test)

结果仍然给我一个 (2x2) 矩阵而不是一个 (2x1) 我可以用作一个点的矩阵。是否有其他功能或更好的方法来解决这个问题?

【问题讨论】:

  • 您希望在矩阵符号中得到什么答案?我问是因为通常你会看到矩阵 x 列向量,而不是列向量 x 矩阵。

标签: python matrix


【解决方案1】:

首先,如果您想进行矩阵乘法,请使用 numpy.matmul@ 运算符,例如B@A.

另外,当你定义 A

A = np.array([[1],[0]])

这会创建一个 2x1 向量(不是 1x2)。因此,如果您想将向量 A 与矩阵 B (2x2) 相乘,这应该是 C = B*A,其中 C 将是一个 2x1 向量

C = B@A

否则,如果您想将 A*B 相乘而 B 仍然是 2x2 矩阵,则应将 A 定义为 1x2 向量:

A = np.array([1,0])

得到一个 1x2 的结果

C = A@B

【讨论】:

    【解决方案2】:
    test =np.matmul(B,A)
    

    这应该可以解决问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-13
      • 2017-08-11
      • 2018-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-07
      • 1970-01-01
      相关资源
      最近更新 更多