Python矩阵代码含义代码段

时间:2016-11-24 12:58:56

标签: python

我想知道这段代码中的for行应该做什么。这是我需要帮助的代码片段:

# iterate through rows of X
for i in range(len(X)):
   # iterate through columns of Y
   for j in range(len(Y[0])):
       # iterate through rows of Y
       for k in range(len(Y)):
           result[i][j] += X[i][k] * Y[k][j]

for r in result:
   print(r)

1 个答案:

答案 0 :(得分:1)

此代码将矩阵XY相乘,并将得到的乘积放入矩阵result。然后它逐行打印矩阵result,因此它看起来就像是屏幕上的矩阵。

要使此代码段生效,必须已设置矩阵XYresult - XY及其值,以及result具有正确的形状(行数和列数)和所有零值。请注意,此代码中没有错误检查,甚至X的列数等于Y的行数。

表达式len(X)返回X中的行数,而len(Y[0])返回Y的列数,至少X和{{} {1}}已正确设置。代码的其余部分是乘以两个矩阵的标准方法,Y中的每个条目都计算为一行result的标量积,其中X列。

您是否了解矩阵乘法以及Python如何将矩阵存储在列表列表中,或者您是否需要更多解释?