Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีคูณเมทริกซ์สองตัวด้วย Python

การคูณเมทริกซ์สองตัวเป็นไปได้ก็ต่อเมื่อจำนวนคอลัมน์ของเมทริกซ์ตัวแรกเท่ากับจำนวนแถวของเมทริกซ์ตัวที่สอง

การคูณสามารถทำได้โดยใช้ Nested Loops (ลูปซ้อน) โปรแกรมตัวอย่างมีเมทริกซ์ x และ y แต่ละตัวมี 3 แถวและ 3 คอลัมน์ เมทริกซ์ผลลัพธ์ z จะมีโครงสร้าง 3x3 เช่นกัน องค์ประกอบของแต่ละแถวของเมทริกซ์แรกจะถูกคูณกับองค์ประกอบที่ตรงกันในคอลัมน์ของเมทริกซ์ที่สอง

ตัวอย่าง

X = [[1, 2, 3],
     [4, 5, 6],
     [7, 8, 9]]

Y = [[10, 11, 12],
     [13, 14, 15],
     [16, 17, 18]]

result = [[0, 0, 0],
          [0, 0, 0],
          [0, 0, 0]]

# วนลูปผ่านแถวของ X
for i in range(len(X)):
    # วนลูปผ่านคอลัมน์ของ Y
    for j in range(len(Y[0])):
        # วนลูปผ่านแถวของ Y
        for k in range(len(Y)):
            result[i][j] += X[i][k] * Y[k][j]

for r in result:
    print(r)

ผลลัพธ์

The result:
[84, 90, 96]
[201, 216, 231]
[318, 342, 366]